This question is pointless, except as an exercise in red herrings. The issue turned out to be a combination of my idiocy (NO ONE was being emailed as the host was not being specified and was incorrect in web.config
) and the users telling me that they sometimes got the emails and sometimes didn't, when in reality they were NEVER getting the emails.**
So, instead of taking proper steps to reproduce the problem in a controlled setting, I relied on user information and the "it works on my machine" mentality. Good reminder to myself and anyone else out there who is sometimes an idiot.
I just hit something I think is inconsistent, and wanted to see if I'm doing something wrong, if I'm an idiot, or...
MailMessage msg = new MailMessage();
msg.To.Add("[email protected]");
msg.To.Add("[email protected]");
msg.To.Add("[email protected]");
msg.To.Add("[email protected]");
Really only sends this email to 1 person, the last one.
To add multiples I have to do this:
msg.To.Add("[email protected],[email protected],[email protected],[email protected]");
I don't get it. I thought I was adding multiple people to the To
address collection, but what I was doing was replacing it.
I think I just realized my error -- to add one item to the collection, use .To.Add(new MailAddress("[email protected]"))
If you use just a string
, it replaces everything it had in its list.
Other people have tested and are not seeing this behavior. This is either a bug in my particular version of the framework, or more likely, an idiot maneuver by me.**
Ugh. I'd consider this a rather large gotcha! Since I answered my own question, but I think this is of value to have in the Stack Overflow archive, I'll still ask it. Maybe someone even has an idea of other traps that you can fall into.