阿里云ECS屏蔽端口25的解决办法!

阿里云ECS已经屏蔽了邮件端口25,而且即便通过安全管控申请解封端口25了,也只能使用SMTP发邮件。所以我需要让我的Postfix绕过端口25

关于Postfix的真正管用的实例还是非常少的,本人也差不多折腾了一个星期才搞定。而且也只是实现了基于外部SMTP服务器发送邮件的配置方法。

本文实例是我在Ubuntu 16.04中实操记录,主要解决WordPres的首次注册接收邮件和重设密码邮件的问题。整个是通关了的,没有Bug了。

第一步、安装Postfix
sudo apt install postfix

在安装过程中会弹出简单配置的窗口,选择Internet Site,然后其他的配置直接无视,直接默认回车,直到安装结束。

第二步、配置main.cf

将里面的relayhost设置为

relayhost = [smtpdm.aliyun.com]:80

默认情况下这个参数是没有赋值的,至于我为什么要设置这个值,建议看看文章末尾给的链接,我开通了阿里云的DirectMail,“邮件推送”功能,每天有200条免费邮件的名额,对于大多数小站长而言绰绰有余。

接着将以下参数的设置放进main.cf

smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_generic_maps = hash:/etc/postfix/generic
第三步、配置generic

/etc/postfix/generic这个文件默认不存在的,直接创建,然后将以下代码放进文件里去。

www-data [email protected]
www-data@bYqaQ1K9TRQCksi0 [email protected]
[email protected] [email protected]

bYqaQ1K9TRQCksi0是服务器的主机名。执行以下命令就可以知道主机名了

hostname

本来发件人地址是wordpress@bYqaQ1K9TRQCksi0,有了第一行的代码后,以后注册用户收到的邮件显示的发件人就改写成了[email protected]

温馨提醒:如果要详细配置generic,一定要重点看/var/log/mail.log和/var/log/mail.err,比如我的有如下代码

postfix/pickup[2012]: 4D0B122086A: uid=1000 from=

postfix/qmgr[2531]: DD6A322086A: from=
第四步、配置sasl_passwd

/etc/postfix/sasl_passwd这个文件默认也不存在的,直接创建,然后将以下代码放进文件里去。

[smtpdm.aliyun.com]:80 [email protected]:BhROhrB97b
第五步、生成数据库文件
sudo postmap /etc/postfix/sasl_passwd

sudo postmap /etc/postfix/generic
第六步、重启Postfix
sudo service postfix restart

到此为止,接收邮件的问题就正常了。

现在附上阿里云的“邮件推送管理平台”的链接:https://dm.console.aliyun.com/

其实文章中涉及的以下几个值,也可以换成其他的SMTP服务器的

[smtpdm.aliyun.com]:80 //比如换成QQ企业邮箱的[smtp.exmail.qq.com]:465
[email protected] //比如换成你的QQ企业邮箱
BhROhrB97b //改成你的QQ企业邮箱的密码

如果端口是465,就是加密发送,Postfix的配置文件main.cf中还要添加如下代码

smtp_tls_wrappermode = yes
smtp_tls_security_level = encrypt

你可能感兴趣的:(阿里云ECS屏蔽端口25的解决办法!)