欢迎光临
我们一直在努力

阿里云服务器不能发邮件禁用25端口的三种解决方法

分享使人快乐,遇到的坑通过博文分享给大家,总结解决办法使更多的人节省宝贵的时间去干其他的事,于是我决定写下了这篇博文;

阿里云发送SMTP邮件失败   阿里云服务器不能发邮件解决方法 ,第三种方法是可以不用25端口,配置465端口阿里云发送邮件是成功的,现在阿里云25端口管理的很严要申请通过难度太大,我申请成功过,也申请失败过,最近后面申请的都失败了,我后面就直接用第三种方法配置465端口就可以用

第一种方法:

公司最近上了一台阿里云服务器,我部署完系统后发现邮件发送不了,啊,怎么会发不了邮件呢?于是找原因发现是阿里云服务器把邮件的默认25端口给禁用掉了为的是不让邮件泛滥,

好吧,于是我想怎么去解封25端口,找了下官方的资料,看懂了但是没有找到对应的菜单在哪里,那个25端口解封功能隐藏的太深,费了好大个功能终于是找到了,上个图,说下菜单的是如何点击到25端口解封功能的,以下是解封的步骤:

阿里云服务器不能发邮件禁用25端口的三种解决方法

第一步:鼠标移上右上角贵司 阿里云账号【南京XXXX】 上, 这个账号就在 【简体中文】功能左边第一个;

第二步:点击【安全管控】;

第三步:点击 【25端口解封】

第四步:点击【25端口解封申请】

第五步:填写申请的 IP和对应的邮箱域名,这里注意的是  服务器IP一定要是 阿里云账号下的服务器,域名的话,不同供应商不同的域名,客户是自己买的阿里云邮箱,邮箱域名是:mail.zhsiwei.com 配置是成功,qq邮箱可以填写 mail.qq.com就是用qq邮箱去发送邮件,qq的大家可以去试试这个域名对不,smtp.qq.com配置申请不成功,126邮箱,雅虎邮箱,这里就不一一罗列,可以去对应的邮箱里面找下就好,切记这个邮箱域名很重要配置不好审核就通不过。

阿里云服务器不能发邮件禁用25端口的三种解决方法

 

第六步:填写申请表单

阿里云服务器不能发邮件禁用25端口的三种解决方法

第七步:填写之后确定后就静静的等待阿里云客服审核一般最多7个工作日就好了

第二种方法:

方法来源:https://blog.csdn.net/u013571196/article/details/78376343

想到阿里云喜欢用安全组屏蔽端口,于是我就赶紧去配置了安全规则。进站出站都配置了,结果还是不行,然后索性把防火墙也关了,依旧不行。经过一番折腾,发现阿里自带屏蔽25端口。简直尴尬,后来找了阿里的一些规则文档,发现需要申请开通屏蔽端口。但是经过咨询了阿里工作人员,发现现在已经不开放25端口,因为什么《互联网信息服务管理办法》、《中国互联网协会反垃圾邮件规范》均对垃圾邮件进行说明与管理规范。让我考虑SSL加密SMTP通过465端口进行发件。然后试了一波,发现465发送不了QQ邮件,尝试了587端口成功了。

System.Net.Mail 空间的代码如下://strto=收件箱集合,subj=邮件主题 bodys=邮件内容

 public static class EmailUtils { /// <summary> /// 发送邮件 /// </summary> /// <param name="strto">收件箱集合</param> /// <param name="subj">主题</param> /// <param name="bodys">邮件内容</param> /// <returns></returns> public static bool SendMail(string[] strto, string subj, string bodys) { SmtpClient _smtpClient = new SmtpClient(); _smtpClient.EnableSsl = true; _smtpClient.UseDefaultCredentials = false; _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; _smtpClient.Host = "smtp.qq.com"; _smtpClient.Port = 587; _smtpClient.Credentials = new System.Net.NetworkCredential("发件箱", "授权码"); //密码不是QQ密码,是qq账户设置里面的POP3/SMTP服务生成的key   mailmessage _mailMessage = new MailMessage(); _mailMessage.From = new MailAddress("发件箱", "发件箱显示名称"); foreach (var str in strto) { _mailMessage.To.Add(str);//收件箱 } _mailMessage.Subject = subj;//主题  _mailMessage.Body = bodys;//内容 _mailMessage.BodyEncoding = Encoding.Default;//正文编码  _mailMessage.IsBodyHtml = true;//设置为HTML格式  _mailMessage.Priority = MailPriority.High;//优先级  try { _smtpClient.Send(_mailMessage); _mailMessage.Dispose(); _smtpClient.Dispose(); Console.WriteLine("发送成功"); return true; } catch (Exception e) { Console.WriteLine("发送失败"); throw e; } } }

 

 

第三种方法:

这个方式是官方给的,主要是通过System.Web.Mail.MailMessage来实现发送,大家把这个方法放到自己的项目里面调用就好

 /// <summary> /// 通过System.Web.Mail.MailMessage去发送,可以不被阿里云限制25端口的使用 /// 暂时一般都用465端口 /// </summary> /// <param name="smtpserver">SMTP服务,譬如:smtp.126.com</param> /// <param name="userName">发件箱</param> /// <param name="pwd">密码</param> /// <param name="nickName">昵称</param> /// <param name="strfrom">发件箱</param> /// <param name="strto">收件箱</param> /// <param name="MessageSubject">主题</param> /// <param name="MessageBody">内容</param> /// <param name="SUpFile">附件</param> /// <param name="port">端口</param> /// <param name="enablessl">SSL加密</param> /// <returns></returns> public static bool SendWebEmail(string smtpserver, string userName, string pwd, string nickName, string strfrom, string strto, string MessageSubject, string MessageBody, string SUpFile, int port, int enablessl = 0) { System.Web.Mail.MailMessage mmsg = new System.Web.Mail.MailMessage(); //邮件主题 mmsg.Subject = MessageSubject; mmsg.BodyFormat = System.Web.Mail.MailFormat.Html; //邮件正文 mmsg.Body = MessageBody; //正文编码 mmsg.BodyEncoding = Encoding.UTF8; //优先级 mmsg.Priority = System.Web.Mail.MailPriority.High; System.Web.Mail.MailAttachment data = null; if (SUpFile != "") { SUpFile = HttpContext.Current.Server.MapPath(SUpFile);//获得附件在本地地址 System.Web.Mail.MailAttachment attachment = new System.Web.Mail.MailAttachment(SUpFile); //create the attachment mmsg.Attachments.Add(attachment); //add the attachment } //发件者邮箱地址 mmsg.From = string.Format("\"{0}\"<{1}>",nickName, strfrom); //收件人收箱地址 mmsg.To = strto; mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //用户名 mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", userName); //密码 不是邮箱登陆密码 而是邮箱设置POP3/SMTP 时生成的第三方客户端授权码 mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", pwd); //端口 mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", port); //使用SSL mmsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", (enablessl == 1 ? "true" : "false")); //Smtp服务器 System.Web.Mail.SmtpMail.SmtpServer = smtpserver; try { System.Web.Mail.SmtpMail.Send(mmsg); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return false; } return true; } 

阿里云发送SMTP邮件失败,阿里云服务器不能发送邮件,其中注意的是填写的密码不是邮箱登陆密码 而是邮箱设置POP3/SMTP 时生成的第三方客户端授权码

自己亲测试过可以用希望对大家有帮助

https://help.aliyun.com/knowledge_detail/60692.html

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《阿里云服务器不能发邮件禁用25端口的三种解决方法》
文章链接:https://www.456zj.com/1986.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址