配置 Postfix 通过外部SSL 465或587端口的 SMTP 服务器发邮件

栏目:经验分享 作者:小天 点击: 14,859 次

我不想自己去连外部 SMTP 服务器,因为我懒得自己去处理各种错误。我们服务器上很多程序用的是 heirloom mailx 软件的 mail 命令。结果是有些服务器上有好几个甚至几十个 mail 进程卡在那里了。还有不知道通过什么东西发邮件的,偶尔会有邮件没发出来,发出来了的还因为在一个字符的多个字节之间换行再编码导致 mutt 和 Android 的 GMail 程序显示为乱码的。

所以我要用 Postfix,让它来处理这些杂事。之前只把 Postfix 用作普通的 SMTP 服务器过。然而现在目标邮寄地址是腾讯企业邮箱,对由子域名发出的邮件很不友好,老是扔垃圾箱里,连加白名单都没用……于是搜了一下,Postfix 是可以作为客户端登录到 SMTP 服务器来发信的。不过资料比较少,好不容易配置好了,自然要记录一下。

1、创建一个长效的CA证书,执行以下命令:

找到里面所有的 -days 365 改为 -days 3650 也可以随便定个较长的时间,让证书长期有效

然后执行以下命令生成证书:

当出现以下画面时输入你自定义的证书信息,如下图:

然后将证书复移动到postfix目录:

2、编辑配置main.cf文件,内容如下:

3、配置SMTP邮局帐户信息:
编辑或新建文件:/etc/postfix/sasl_passwd ,在文件中添加登陆smtp的信息,格式:[smtp服务器]:端口 邮箱:密码,执行以下命令将文件内容替换为引号内容:

4、配置默认的发件人:
配置信封上的发件人(MAIL FROM 命令)的地址重写,否则很多邮局拒绝收信的,编辑或添加:/etc/postfix/generic 文件,执行以下命令追加引号内容到文件:

hostname 就是 Postfix 里那个 myhostname,默认是机器的主机名。这句配置的意思是,本来发件人地址是这个主机名的,全部改写成 user@example.com 这个。

5、生成hash数据库,并给予权限:
然后生成 hash 数据库,并更改权限(更好的做法当然是创建的时候就弄好权限),执行以下命令:

已经OK,执行以下命令重启 Postfix :

外部参考:http://www.jslink.org/linux/centos-postfix-mailx-qq-smtp-sendmail.html



声明: 本文由( 小天 )原创编译,转载请保留链接: 配置 Postfix 通过外部SSL 465或587端口的 SMTP 服务器发邮件

------====== 本站公告 ======------
欢迎使用趣域网域名百科,我们将长期提供域名使用相关知识和投资域名的方法和技巧;并提供主机、服务器的解决问题和网站运营方法。