MailMessage не отправит более чем 2 получателям? - PullRequest
0 голосов
/ 10 ноября 2011

В ASP.NET я отправляю сообщение MailMessage, но оно не проходит.Код, который я использую:

message.To.Add(email1 + ", " + email2 + ", " + email3);

Когда я это делаю, я никогда не получаю свою почту.Однако, если я использую этот код:

message.To.Add(email1 + ", " + email2);

Он отправляет просто отлично каждый раз.Кто-нибудь знает, что здесь происходит?Все 3 электронных письма одинаковы (для целей тестирования) и были проверены на правильность при отладке.Я попытался вставить другой адрес электронной почты для третьего, но ничего не получилось.Я могу упустить что-то очевидное ...

РЕДАКТИРОВАТЬ: Все говорят мне, чтобы добавить их по отдельности, что может быть хорошим советом, если все согласны с этим.Причина, по которой я не делал этого раньше, и я просто попробовал это снова с тремя отдельными адресами, и ни один из них не был отправлен.Может быть, у меня есть другая проблема полностью, если это должно работать?

РЕДАКТИРОВАТЬ: Для тех, кто с такой же проблемой в будущем, вот что я сделал.При создании MailMessage я не создавал его с какими-либо параметрами, а вместо этого отдельно указывал параметр From.Я завернул письма «От и все» в new MailAddress(), и комбинация всех этих изменений, похоже, сработала.

Ответы [ 5 ]

4 голосов
/ 10 ноября 2011

Просто позвоните Add несколько раз.

2 голосов
/ 10 ноября 2011

Попробуйте

message.to.add(email1);
message.to.add(email2);
message.to.add(email3);
message.to.add(email4);

Надеюсь, это поможет

Харви Сатер

2 голосов
/ 10 ноября 2011

Вместо того, чтобы объединять почту, адресованную в одном операторе Add, вы должны добавлять их по одному:

message.To.Add(email1);
message.To.Add(email2);
message.To.Add(email3);

Поскольку вы добавляете в коллекцию.

Кроме того,если адреса совпадают, функция обычно не добавляет его дважды в моем опыте.Это может быть поведение функции Mailmessage.To.Add, или это может случиться так, что, когда он получает мне, Outlook удаляет дубликаты, но он выглядит мне , как будто он отфильтровывает дубликаты.Вы можете видеть то же самое в вашей системе.

2 голосов
/ 10 ноября 2011

Свойство To MailMessage является коллекцией, поэтому вы должны вызывать message.To.Add 3 раза, если хотите отправить на 3 адреса электронной почты.

0 голосов
/ 10 ноября 2011

Я сохраняю получателей сообщений в файле web.config, а затем обрабатываю их следующим образом:

 string lstrDistributitionList = ConfigurationSettings.AppSettings["SMTP_DISTRIBUTION_LIST"];
                    string[] lastrDistributitionList = lstrDistributitionList.Split(';');

                    for (Int32 loopCounter = 0; loopCounter < lastrDistributitionList.Length; loopCounter++)
                    {
                        msg.To.Add(lastrDistributitionList[loopCounter]);
                    }

Харви Сатер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...