阿里云
技术周刊订阅频道
发表主题 回复主题
  • 666阅读
  • 1回复

[基础常识]在Debian 8 系统里为 postfix 配置外部smtp服务器发邮件

级别: 论坛版主
发帖
12908
云币
29506

有不少网友 在使用阿里ECS实例时,发现无法发出邮件,因为新近创建的ECS实例默认禁止连接外网TCP 25端口,避免滥发邮件。 R_ ,UMt  
mPN@{.(j  
环境:Debian 8,postfix 2.11,使用免费阿里云云邮账户发信 H*&f:mfq  
st3l2Q  
过程: )72+\C[*~r  
bv9i*]  
1. apt-get update # 先更新软件库 ?{|q5n  
AOWmzu{zw  
2. hostname swas.anqun.org # 设置主机名 '}JhzKNj  
%C'?@,7C  
3. apt-get install libsasl2-modules postfix # 安装 postfix 及相关组件 8# >op6^  
ox>^>wR*  
4. 在配置 postfix 里,选择 Internet Site 类型,填写完整主机名 swas.anqun.org YEs&  
I<4Pur>"  
T`.O'!  
f/NH:1)y  
{3p4:*}  
C:* *;=.  
5. 安装好 postfix 后,在配置文件 /etc/postfix/main.cf 里确认 myhostname 的值是否与主机名相符 -MO#]K3<  
.hP D$o  
yw[g!W  
[vK ^Um  
6. apt-get install stunnel # 安装stunnel,目的是让postfix支持连接 smtp.aliyun.com:465 P[#e/qnXu|  
V>%rv'G8  
7. 创建 /etc/stunnel/stunnel.conf 配置文件,内容如下,监听本地11125端口,连接 smtp.aliyun.com:465 zh`<WN&H  
  1. [smtp-tls-wrapper]
  2.    accept = 11125
  3.    client = yes
  4.    connect = smtp.aliyun.com:465
/y#f3r+*2  
bv9]\qC]T<  
8. 启动 stunnel 后,可查看到本地有 11125 端口使用情况 gX}8#O.K$  
#$+*;  
p8H'{f\G  
s1$nvTzBr  
9. 创建或修改 /etc/postfix/sasl/sasl_passwd 文件,写上相应的服务地址、端口和登录名密码,如下例: VimE@Hz  
  1. [localhost]:11125 anqunhe@aliyun.com:password
10. postmap /etc/postfix/sasl/sasl_passwd # 生成 hash 文件 +I:Unp  
N1S{suic  
11. chmod 600 /etc/postfix/sasl/* # 为了保护smtp的登录信息,需要修改上边两个文件为root用户只读写 KKPh~ThC  
6V:U (g  
2K6qY)/_  
`?qF$g9u~  
12. 修改 /etc/postfix/main.cf 文件,修改 relayhost = [localhost]:11125 , 添加SMTP信息: 4qbBc1,7y  
  1. # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
  2.    # information on enabling SSL in the smtp client.
  3.    smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
  4.    myhostname = swas.anqun.org
  5.    alias_maps = hash:/etc/aliases
  6.    alias_database = hash:/etc/aliases
  7.    myorigin = /etc/mailname
  8.    mydestination = swas.anqun.org, localhost, localhost.localdomain, localhost
  9.    # relayhost =
  10.    relayhost = [localhost]:11125
  11.    mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
  12.    mailbox_command = procmail -a "$EXTENSION"
  13.    mailbox_size_limit = 0
  14.    recipient_delimiter = +
  15.    inet_interfaces = all
  16.    #### SMTP
  17.    # Enable SASL authentication
  18.    smtp_sasl_auth_enable = yes
  19.    # Disallow methods that allow anonymous authentication
  20.    smtp_sasl_security_options = noanonymous
  21.    # Location of sasl_passwd
  22.    smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
  23.    # Enable STARTTLS encryption
  24.    # smtp_tls_security_level = encrypt
  25.    # Location of CA certificates
  26.    smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
  27.    smtp_generic_maps = hash:/etc/postfix/generic
H8zK$!  
B =T'5&  
13. 因为多数免费邮箱限定发信人是登录名(如anqunhe@aliyun.com),所以在 /etc/postfix/generic 文件里填写可能发信的地址,如:www-data,wordpress j'<<4.(  
  1. www-data anqunhe@aliyun.com
  2. wordpress anqunhe@aliyun.com
b:m88AG  
n;C :0  
GPv1fearl  
Q&ptc>{bH6  
14. postmap /etc/postfix/generic # 生成或更新postfix查询表 Y%aCMP9j~9  
SC!RbW@3  
15. service postfix restart # 重启postfix后,从Shell和从wordpress程序测试,发信成功 9@:2wR |  
e8!5 I,I  
&|ex`nwc0  
N7QK> "a  
\ gGW8Q;  
z`}qkbvi  
参考: |?xN\O^#}  
* https://core.trac.wordpress.org/ticket/25239 oj<gD  
* https://www.codeforest.net/debugging-wp-mail-like-a-boss-debugger 1~`fVg  
* https://codeseekah.com/2013/11/01/correct-sender-for-wordpress-mail-routed-via-postfix/ EhvX)s  
* https://stackoverflow.com/questions/14370224/change-outgoing-mail-address-from-rootservername-rackspace-sendgrid-postfix *?>T,gx}  
* http://www.postfix.org/TLS_README.html PO^ij2eS  
* https://ubuntuforums.org/archive/index.php/t-1370982.html aEWWP]  
* https://mailhelp.aliyun.com/freemail/detail.vm?knoId=5869705 8z`G,qh  
* https://linode.com/docs/email/postfix/configure-postfix-to-send-mail-using-gmail-and-google-apps-on-debian-or-ubuntu/ )}(^, Fo c  
rJT a  
 RVmh6m  
I)[DTCJ~  
[ 此帖被dongshan8在2018-01-14 16:07重新编辑 ]
关键词: postfix 发信失败
Debian 是一个自由的操作系统 (OS),提供您安装在计算机上使用。操作系统就是能让您的计算机工作的一系列基本程序和实用工具。
级别: 架构狮
发帖
1240
云币
1988
只看该作者 沙发  发表于: 01-25
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个