繁体   English   中英

如何在C#中发送包含多个地址的电子邮件

[英]How to send email with multiple addresses in C#

我正在尝试使用gmail的用户名和密码在Windows应用程序中发送电子邮件。 但是,当我在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()每个message.To.Add() MailAddress 我认为.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中不起作用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM