110,536
社区成员
发帖
与我相关
我的任务
分享
private static List<EmailRecordDto> SendMessage(List<EmailRecordDto> emails, AmazonEmailChannelDto channel)
{
_smtpClient.Host = channel.EmailServer;//smtp.163.com
_smtpClient.Port = channel.Port;//25
_smtpClient.EnableSsl = channel.EnableSsl;//启用
_smtpClient.UseDefaultCredentials = channel.UseDefaultCredentials;//默认
_smtpClient.Credentials = new NetworkCredential(channel.Account, channel.Password);
_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
var mail = new MailMessage();
mail.SubjectEncoding = Encoding.GetEncoding(936); //Encoding.UTF8; 解决中文乱码问题
mail.BodyEncoding = Encoding.GetEncoding(936);// Encoding.UTF8; 解决中文乱码问题
//mail.From = new MailAddress(emails[0].FromEmail, emails[0].FromName);
mail.From = new MailAddress(channel.Account, "");
mail.IsBodyHtml = channel.IsBodyHtml;
if (emails.Count > 0)
{
foreach (var email in emails)
{
try
{
mail.Subject = email.Subject.Replace("\r", "").Replace("\n", "");
mail.Body = email.Body;
email.Attachements.ForEach(a =>
{
MemoryStream ms = new MemoryStream(a.Data);
System.Net.Mail.Attachment attachment;
if (a.FileName.EndsWith(".zip", StringComparison.CurrentCultureIgnoreCase) || a.FileName.EndsWith(".rar", StringComparison.CurrentCultureIgnoreCase))
{
attachment = new Attachment(ms, a.FileName, MediaTypeNames.Application.Zip);
}
else
{
attachment = new Attachment(ms, a.FileName, MediaTypeNames.Application.Octet);
}
mail.Attachments.Add(attachment);
});
mail.To.Add(new MailAddress(email.RCPTEmail, email.RCPTName));
_smtpClient.Send(mail);//此处报错 如果用QQ邮箱异常信息为:”操作超时“
email.RecordStatus = EmailRecordStatus.Sent;
}
catch (Exception ex)
{
Logger.Write(string.Format("发送邮件时发生异常,异常信息:{0}", ex.ToString()));
email.RecordStatus = EmailRecordStatus.Failed;
}
}
}
if (_smtpClient != null)
{
_smtpClient.Dispose();
_smtpClient = null;
}
}
catch (Exception ex)
{
Logger.Write(string.Format("发送邮件时发生异常,异常信息:{0}", ex.ToString()));
}
return emails;
}