Как отправить по электронной почте bcc список пользователей из текстового файла? - PullRequest
0 голосов
/ 25 июля 2011

Итак, я создаю программу, которая отправляет список пользователей по электронной почте из файла .txt. Вот что у меня есть.

MailAddress from = new MailAddress("testadmin@gmail.com", "MAIL BOT TEST");
        MailAddress to = new MailAddress("testadmin", "Admin");
        MailMessage message = new MailMessage(from, to);

using (StreamReader sr3 = new StreamReader(@"C:\Data\Items\emailItems.txt"))
         {
             string emailList;
             emailList = sr3.ReadToEnd();
             MailAddress bcc = new MailAddress(emailList);
             message.Bcc.Add(bcc);

             Console.WriteLine(emailList);
             MessageBox.Show("" + emailList, "Email List", MessageBoxButtons.OK);
         }

EmailList не будет работать, так как он генерирует исключение и требует:

MailAddress bcc = new MailAddress("manager1@contoso.com");

Ниже показано, как форматируется .txt. Должен ли я разделить их комментариями?

test01@gmail.com
test02@gmail.com

Вот исключение:

{"The specified string is not in the form required for an e-mail address."}

Спасибо и ура, Шон.

Ответы [ 2 ]

1 голос
/ 25 июля 2011

MailAddress может принимать только один адрес, а не список, поэтому вам нужно добавить MailAddress в скрытую копию для каждого получателя.

При условии, что в вашем текстовом файле каждый адрес электронной почты находится в отдельной строке(и ваш вопрос предполагает, что это так), попробуйте это:

string[] recipients = File.ReadAllLines(@"C:\Data\Items\emailItems.txt");

string recipient;

foreach (var recipientLine in recipients)
{
     // Just to take care of leading/trailing spaces and blank lines
     recipient = recipientLine.Trim();
     if (!string.IsNullOrEmpty(recipient))
     {
         MailAddress bcc = new MailAddress(recipient);
         message.Bcc.Add(bcc);   
     }
}
1 голос
/ 25 июля 2011

Попробуйте перебрать список BCC вместо того, чтобы пытаться добавить сразу. Вы увидите, есть ли проблема, по какому почтовому адресу это все равно происходит, когда выбрасываются расходы.

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