C#SMTP发送邮件在阿里云服务器上需要注意的问题

使用SMTP(简单邮件传输协议)发送邮件一般都是使用25端口,而阿里云服务器为了安全是将25端口封禁的,会出现在本机测试发送邮件功能正常,但是部署到服务器上却发送失败的情况。

  解决办法是向阿里云申请解封25端口,或者更换端口,可以使用465或者587端口。

  代码如下:
///

/// 发送邮件
/// </summary>
/// <param name="bodyStr">邮件内容</param>
/// <param name="title">邮件标题</param>
/// <returns>返回结果,成功与否</returns>
public static string SendMail(string bodyStr, string title)
{
    SmtpClient smtpClient = new SmtpClient();
    smtpClient.EnableSsl = true;
    smtpClient.UseDefaultCredentials = false;
    smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
    smtpClient.Host = "smtp.qq.com";
    smtpClient.Port = 587;//改用587端口
    smtpClient.Credentials = new System.Net.NetworkCredential("000@qq.com", "abcdefg");
    //密码不是QQ密码,是qq账户设置里面的POP3/SMTP服务生成的key
    MailMessage mailMessage = new MailMessage("000@qq.com", "xxx@xxx.com");//from(发出邮箱)和to(目标邮箱)
    mailMessage.Subject = title;//邮件标题 
    mailMessage.Body = bodyStr;//邮件内容 
    mailMessage.BodyEncoding = System.Text.Encoding.Default;//正文编码  
    mailMessage.IsBodyHtml = true;//设置为HTML格式  
    mailMessage.Priority = MailPriority.High;//优先级  
    mailMessage.To.Add("xxx@xxx.com");
    mailMessage.To.Add("aaa@xxx.com");
    mailMessage.To.Add("bbb@xxx.com");
    mailMessage.To.Add("ccc@xxx.com");//可以发送给多个人
    try
    {
        smtpClient.Send(mailMessage);
        return "发送成功";
    }
    catch (Exception e)
    {
        return "发送失败" + e.InnerException.Message;
    }
}
上一篇:QT5.10.0安装教程图文教程以及安装成功QT5.10.0后环境配置图文教程


下一篇:关于磁盘分区技巧