如何在C#中使用多个地址发送电子邮件

我正尝试在Windows应用程序中使用Gmail的用户名和密码发送电子邮件。 但是,当我在我的StringBuilder实例中收集多个电子邮件地址时,以下代码仅将邮件发送到第一个电子邮件地址。

var fromAddress = new MailAddress(username, DefaultSender);
var toAddress = new MailAddress(builder.ToString());//builder reference having multiple email address

string subject = txtSubject.Text;
string body = txtBody.Text; ;
var smtp = new SmtpClient
{
    Host = HostName,
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(username, password),
    //Timeout = 1000000

};
var message = new MailMessage(fromAddress, toAddress)
{
    Subject = subject,
    Body = body,
    IsBodyHtml = chkHtmlBody.Checked

};

if (System.IO.File.Exists(txtAttechments.Text))
{
    System.Net.Mail.Attachment attechment = new  Attachment(txtAttechments.Text);
    message.Attachments.Add(attechment);
}

if(this.Enabled)
    this.Enabled = false;

smtp.Send(message);

我做错了什么,我该如何解决我的问题?


最好的选择是message.To.Add()每个MailAddress es个别。 我认为.Net的早期版本比较新的运行时版本更容易解析逗号或分号分隔的电子邮件地址。


我遇到了同样的问题。

代码实际上是

message.To.Add("xxx@gmail.com, yyy@gmail.com");

这个可以在.net 3.5中运行

如果你使用

message.To.Add( new MailAddress("xxx@gmail.com, yyy@gmail.com"));

这在.net 3.5中不起作用

链接地址: http://www.djcxy.com/p/51183.html

上一篇: How to send email with multiple addresses in C#

下一篇: automating Cucumber test scenarios for MySQL