站点图标 Linux-技术共享

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

是否遇到个在本地测试发送邮件可以正常发送,而把程序转移到阿里云服务器后就发送不出去了?

遇到这个问题,先不要着急,不是你代码的问题,是阿里云服务器的问题。阿里云服务器默认禁止了邮件发送的25号端口。

找到了问题所在,接下来有2种解决办法。

方法一、申请解封阿里云25号端口。(此方法没有特殊情况一般不建议使用)

阿里云25号端口解封网址:https://yundun.console.aliyun.com/?spm=5176.12818093.0.0.488716d02tn3nk&p=sc#/sc/port

点击右侧25号端口解封申请,在弹出的界面中选择填写对应内容后,勾选已阅读并同意《25端口使用服务协议》后,单机下一步。填写申请表单,详细说明您的TCP 25号端口使用描述及使用情况,最后单机确定,提交TCP 25端口解封申请。

一般情况下,阿里云会在一个工作日后根据您提交的申请理由进行审核,并将审核结果以邮件的方式通知您。

方法二、使用外部邮件服务商的465端口。(推荐使用这种方法)

找到发送邮件代码中的类似如下部分:(以php为例)

//******************** 配置信息 ********************************
$smtpserver = "smtp.163.com";//SMTP服务器,如果不是163邮箱,例如QQ邮箱对应就smtpserver就是smtp.qq.com,根据自己实际使用邮箱而定
$smtpserverport =25;//SMTP服务器端口

将smtp.163.com改成ssl://smtp.163.com;将25端口改成465。

//******************** 配置信息 ********************************
$smtpserver = "ssl://smtp.163.com";//SMTP服务器,如果不是163邮箱,例如QQ邮箱对应就smtpserver就是smtp.qq.com,根据自己实际使用邮箱而定
$smtpserverport =465;//SMTP服务器端口

红色文字为修改部分,修改后就可以正常发送邮件了,赶快去试试吧!

退出移动版