利用postfix搭建的服务器配置退信功能

邮箱的功能好像做的人并不是很多,一般用阿里云提供的其实足够一般的企业使用了。但总会有企业需要这个,或者个人搭建这个。

我们由技术总监搭建了邮箱服务器,使用的是postfix。但是搭建之后,对于邮箱发送错误的邮箱地址之后的退信,有一个英文的默认退信,我们需要改成中文的,搞了我三四个小时,原因是网上的参考资料比较少,所以我整理一个步骤出来。
前提:我配置的路径是根据我们安装的邮箱服务器的路径,所以具体的操作要看自己安装的路径。

1. 配置退信模板

默认是有英文模板的,但如果改成中文的,当然需要自己配置一个模板。
命令:
vim /etc/postfix/main.cf
这是postfix的主要配置文件,在这个配置文件中添加一行内容,配置模板内容:
bounce_template_file = /etc/postfix/bounce.cf

2. 建立退信模板内容

根据上面的配置,建立一个模板内容,可以配置4种模板,分别为:
1)失败退信(failure_template):投递失败。
2)延时退信( delay_template):如果发信时发生了临时性错误,系统会延时一定的时间再次尝试重发,直到在队列中的时间超过了maximal_queue_litetime就从队形中删除了。
3)成功退信(success_template):发信成功了,给发件人一封通知信。
4)verify退信(ver-ify_template):对收件人验证不成功的退信
这里我主要配置一个失败的退信:

failure_template=<<EOF
Charset: utf-8,gb2312
From: =?utf-8?B?6YKu566x566h55CG5ZGY?=<Admin@zjp.com>
Subject: =?utf-8?B?6YCA5L+h6YCa55+l?=
Postmaster-Subject:Postmaster Copy: Undelivered Mail

退信通知: 您好,很抱歉您发送的邮件被系统退回,相关信息如下
退信原因: 您投递的邮件地址不存在,所以您的邮件不能准确送达。
解决方案:1.请检查输入的地址是否有误;2.联系收件方确认邮箱是否存在过期、被禁用或冻结等情况。
EOF

这里的failure_template表示什么模板,模板内容在<<EOF和EOF之间。
charset配置字符集。
下面关键的内容来了,From和Subject如果配置中文的话,需要配置为base64,语法是:
=?应该的字符集?B?中文的base64?=
=?表示开头,?=表示结尾

4.重启邮件服务,是配置main.cf生效

/usr/sbin/postfix reload

5. 使模板文件生效

/usr/sbin/postconf -b /etc/postfix/bounce.cf
如果模板不对,会给相应的警告提示的。

好,结束!

推荐阅读更多精彩内容