如何通过txt文件向bcc发送用户列表?

时间:2011-07-25 14:00:30

标签: c# email

所以我正在创建一个程序,用于通过.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 个答案:

答案 0 :(得分:1)

尝试循环浏览BCC列表,而不是尝试立即添加。您将看到是否存在问题,当抛出支出时,它仍然是哪个邮件地址。

答案 1 :(得分:1)

MailAddress只能使用一个地址,而不是一个列表,因此您需要为每个收件人添加一个MailAddress到Bcc。

假设您的文本文件中每个电子邮件地址都在一行(并且您的问题表明它有),请尝试以下操作:

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);   
     }
}