admin管理员组文章数量:1646328
由于阿里云禁用了25端口,所以替换成587端口并修改协议为ssl才能发送邮件。
如何获取QQ邮箱授权码?:http://service.mail.qq/cgi-bin/help?subtype=1&&id=28&&no=1001256
/// <summary>
/// 发送QQ邮件
/// </summary>
/// <param name="sender">发件人</param>
/// <param name="senderEmail">发件人QQ邮箱</param>
/// <param name="serviceNum">发件人QQ邮箱服务码</param>
/// <param name="receiver">接收邮箱</param>
/// <param name="title">邮件主题</param>
/// <param name="body">邮件内容</param>
/// <param name="attachments">邮件附件</param>
/// <returns></returns>
public static string QQEmailSend(string sender, string senderEmail, string serviceNum, string receiver, string title, string body, string[] attachments = null)
{
string result;
var mail = new MailMessage();
var client = new SmtpClient();
try
{
mail.From = new MailAddress(sender + " " + "<" + senderEmail + ">");
mail.To.Add(new MailAddress(receiver));
mail.BodyEncoding = Encoding.UTF8;
mail.IsBodyHtml = true;
mail.SubjectEncoding = Encoding.UTF8;
mail.Priority = MailPriority.Normal;
mail.Body = body;
mail.Subject = title;
//添加附件
if (attachments != null && attachments.Length > 0)
{
foreach (var path in attachments)
{
if (File.Exists(path))
{
var attachFile = new Attachment(path);
mail.Attachments.Add(attachFile);
}
}
}
client.Host = "smtp.qq";
client.Port = 587; //端口
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential(senderEmail, serviceNum);
client.Send(mail);
result = "true";
}
catch (Exception ex)
{
result = ex.Message;
}
return result;
}
}
client.Port = 587; //端口client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential(senderEmail, serviceNum);
版权声明:本文标题:阿里云主机用QQ邮箱发送邮件 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1729446485a1201455.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论