首页 > 服务器 > 服务器环境 > 配置Postfix使用腾讯企业邮箱发送邮件,支持PHP的mail()函数
2016
06-21

配置Postfix使用腾讯企业邮箱发送邮件,支持PHP的mail()函数

最近发现我的 贴吧云签到 不能正常发送邮件了,仔细看了看,发现腾讯企业邮箱的SMTP用22端口已经连不上了,考虑了一下,干脆配置直接使用 mail() 函数发件。

个人服务上发件可以选择自己搭建邮箱服务器,但是过程比较繁琐,还容易被各大邮箱当做垃圾邮件直接列入黑名单。好在腾讯和阿里都有免费的企业邮箱服务,我申请了一个一直用着很不错。

如果有兴趣,可以到 注册页面 注册一个使用自己域名的企业邮箱,注册过程在这里就不细说了,网上有很多教程,我主要写一下怎么通过 Postfix 连接腾讯企业邮箱的 SMTP 发送邮件。

安装Postfix

先卸载掉服务器上的 Sendmail,Postfix 据说比 Sendmail 好:

然后安装 Postfix:

配置Postfix

首先查看一下腾讯企业邮箱的帮助文档,里边有给 SMTP 服务器地址和端口:

上面给的 SMTP 的端口号是 465,但是我在实际配置时,发现 465 端口不能正常连接上,网上找了找,发现另外还有一个 587 端口可以使用。下面的教程里边都是使用的 587 端口,读者在配置的时候可以根据实际情况选择端口。

首先需要一个证书文件,你可以选择自己生成或者下载使用现成的证书:

1.手动生成:

默认有效期是一年,我们可以将它修改长一些。找到 DAYS=365 这一行,修改为 DAYS=3650。

可以生成证书:

将文件移动到 /etc/postfix:

2.使用现成的证书文件:

证书弄好之后,在 /etc/postfix/sasl_passwd 里边写入邮箱用户名和密码:

admin@kuoruan.com 的密码是 password

然后编辑 /etc/postfix/main.cf 文件,在最后面加上如下内容:

重要:配置 generic 替换系统发件人,不然当你以 root 用户发送邮件时,发件人默认会是 root@kuoruan.com,无法通过腾讯的用户认证。

创建 /etc/postfix/generic 文件,写入发件人替换信息:

将发件人是 @kuoruan.com 结尾的邮箱全部替换为 admin@kuoruan.com。

最后生成 hash 数据库,并更改文件权限:

重启或重新加载 Postfix:

发件测试

如果正常收到邮件,说明配置成功,使用 PHP 的 mail() 函数也能正常发件了。如果报错,首先看日志文件:

找到报错信息之后 Google 一下,国内相关信息太少了。

参考文章:

  1. 配置 Postfix 通过外部 SMTP 服务器发邮件
  2. CentOS安装postfix、mailx利用QQ企业邮箱的smtp服务器通过命令行发送邮件
  3. Configure Postfix to Send Mail Using an External SMTP Server
最后编辑:
作者:

百度ID:“度娘程序员”,博主。

捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

发表回复

你的邮箱地址不会被公开,垃圾评论将被删除。

有人回复时邮件通知我