【发布时间】:2014-07-22 10:16:29
【问题描述】:
我正在尝试向单个“收件人”收件人和“密件抄送”收件人列表发送电子邮件。 Bcc 收件人列表是一个字符串列表,它们已成功添加到 mailMessage 的 Bcc 集合中,但实际上并未发送。如果我将相同的列表添加到消息的“抄送”集合中,它就可以正常工作。只是不是密件抄送集合。 我使用的代码是这样的:
public void SendEmailMessage(String FromAddress, String ToAddress, String Subject, String Body, List<String> CCAddress, List<String> BccAddress, String Filepath)
{
using (SmtpClient mailClient = new SmtpClient())
{
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress(FromAddress);
mailMessage.To.Add(new MailAddress(ToAddress));
foreach (String _email in CCAddress)
{
mailMessage.CC.Add(new MailAddress(_email));
}
foreach (String _email in BccAddress)
{
mailMessage.Bcc.Add(new MailAddress(_email));
}
mailMessage.Priority = MailPriority.Normal;
mailMessage.Subject = Subject;
if (Filepath != string.Empty)
{
Attachment _attachment = new Attachment(Filepath, MediaTypeNames.Application.Octet);
mailMessage.Attachments.Add(_attachment);
}
AlternateView plainTextView = AlternateView.CreateAlternateViewFromString(GetTextonly(Body), null, "text/plain");
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(Body, null, "text/html");
mailMessage.AlternateViews.Add(plainTextView);
mailMessage.AlternateViews.Add(htmlView);
SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
smtpClient.Send(mailMessage);
}
}
有什么想法吗?
【问题讨论】:
-
你怎么知道它没有被发送?
-
我查看了交换跟踪日志。它被发送到收件人地址而不是密件抄送地址
-
GetTextonly 是什么样的?还要看最后一行,您正在创建一个新的 SmtpClient 实例,您已经在第一行创建了一个。所以没有使用mailClient。
-
..... 还将 if(FilePath != string.Empty) 更改为 if(!string.IsNullOrEmpty(FilePath)