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("person1@example.com");
msg.To.Add("person2@example.com");
msg.To.Add("person3@example.com");
msg.To.Add("person4@example.com");

```

Really only sends this email to 1 person, the last one.

To add multiples I have to do this:

```
msg.To.Add("person1@example.com,person2@example.com,person3@example.com,person4@example.com");

```

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("person@example.com"))

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.