EDIT: этот вопрос бессмыслен, кроме как упражнение в красных сельдях. Проблема оказалась комбинацией моего идиотизма (NO ONE отправлялась по электронной почте, поскольку узел не указывался и был неверным в web.config), а пользователи сообщают мне, что они иногда получали электронные письма, а иногда и не делали, когда в действительности они НИКОГДА не получали электронные письма.
Итак, вместо того, чтобы предпринимать правильные шаги для воспроизведения проблемы в контролируемой настройке, я полагался на пользовательскую информацию и менталитет "она работает на моей машине". Хорошее напоминание о себе и о других, кто иногда идиот.
Я просто ударил что-то, что, по-моему, противоречиво, и хотел посмотреть, не делаю ли я что-то не так, если я идиот, или...
MailMessage msg = new MailMessage();
msg.To.Add("[email protected]");
msg.To.Add("[email protected]");
msg.To.Add("[email protected]");
msg.To.Add("[email protected]");
Действительно отправляет это письмо только одному человеку, последнему.
Чтобы добавить множители, я должен это сделать:
msg.To.Add("[email protected],[email protected],[email protected],[email protected]");
Я не понимаю. Я думал, что добавляю несколько людей в коллекцию адресов To
, но то, что я делал, заменяло его.
Думаю, я только что осознал свою ошибку - добавить один элемент в коллекцию, использовать .Добавить (новый MailAddress ( "[email protected]" ))
Если вы используете только string
, он заменяет все, что у него было в своем списке.
EDIT: другие люди протестировали и не видят этого поведения. Это либо ошибка в моей конкретной версии фреймворка, либо, скорее всего, идиотский маневр.
Тьфу. Я бы счел это довольно большой добычей! Поскольку я ответил на свой вопрос, но я думаю, что это имеет значение для архива stackoverflow, я все равно спрошу его. Возможно, у кого-то даже есть представление о других ловушках, в которые вы можете попасть.