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;
    }
}
相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
Ruby
|
数据安全/隐私保护 Ruby
|
数据安全/隐私保护
【Azure Logic App】在Azure Logic App中使用SMTP发送邮件示例
【Azure Logic App】在Azure Logic App中使用SMTP发送邮件示例
336 3
|
Python
python使用smtp发送邮件
python使用smtp发送邮件
358 0
|
网络安全 数据安全/隐私保护 Python
Python SMTP发送邮件
Python SMTP发送邮件
|
JavaScript API PHP
不用SMTP实现联系表单提交后发送邮件到指定邮箱
构建网站时,联系表单可通过邮件API(如SendGrid、Mailgun、Amazon SES)或第三方自动化服务(Zapier、Integromat)无需SMTP发送邮件。这些服务提供API接口和自动化工作流程,简化邮件发送。例如,使用SendGrid API在Python中发送邮件涉及注册、获取API密钥并编写发送邮件的代码。同样,Zapier可作为表单提交的触发器,自动发送邮件。此外,后端脚本(如PHPMailer)也能实现这一功能,但需编写处理SMTP的代码。选择适合的方法能优化邮件发送流程。
|
数据安全/隐私保护 Python
Django调用MTP服务器给指定邮箱发送邮件
Django调用MTP服务器给指定邮箱发送邮件
|
监控 前端开发
Zabbix使用外部邮箱服务器发送邮件报警
Zabbix使用外部邮箱服务器发送邮件报警
|
API 网络安全 数据安全/隐私保护
SMTP邮件邮箱API发送邮件的方法和步骤
使用SMTP邮件邮箱API(如AokSend)发送邮件涉及6个步骤:获取SMTP服务器地址和端口,进行身份验证,构建邮件内容,连接到服务器,发送邮件及处理结果。例如,Gmail的SMTP服务器地址是smtp.gmail.com,端口587。此方法适用于程序化发送邮件,确保安全并支持大规模发信服务。
|
8月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
729 10