mail服务器

"Linux系统下邮件服务器的搭建(Postfix+Dovecot)"

Posted by mrchang on September 8, 2017

前言

  1. 对于网站来说,发送各种例如注册通知的邮件是很基本的一个需求,之前我一直用的是腾讯的企业邮箱,感觉挺方便的,直接可以绑定QQ邮箱接收邮件,网站配置一下SMTP也就可以发出邮件。但是在前几天由于有重要信息需要立即通知用户,所以选择了群发邮件的方式。在当我以为一切都是辣么完美的时候,陆续有用户过来问我什么情况,我都会跟他们说请查收邮件,但是有好几个人说并没有任何邮件,于是我试着再发一次,结果返回了错误提示。在网上找了下原因,后来看到这个:各大免费邮箱邮件群发账户SMTP服务器配置及SMTP发送量限制情况,才知道是因为发信数量限制了。 所以只好另寻出路了,然后我在知乎上面找到了很多个提供邮件发送的服务商,大概有这些:SendGrid、MailChimp、Amazon SES、SendCloud、Mailgun等等,在看了不少人的建议之后,我选择了Mailgun。

  2. Mailgun注册和配置都挺简单,很快我就成功的发出了第一封邮件,怀着这封欣喜,我又发送了几封邮件,可是悲剧发生在第三封邮件,Mailgun后台有详细的发送记录,这个非常不错,在后台我看到我的邮件被拒收了,原因大概是该服务器IP的发信频率超过腾讯邮箱限制。所以这里就涉及到IP的问题,目前第三方的邮件发送服务普遍都是共享IP(后面还试过SendCloud、),而共享IP并不能确定是否已经达到接收方的数量限制,一旦达到了就无法再发送。这就是说还需要使用独立IP才能保证邮件有较高的到达率,接着就看了各家的独立IP价格,一般都是二十几甚至四十几美刀一个月,这对于我们这种小站长邮件需求不高的来说确实有点贵,买台VPS都不用这个价吧。 经过上面这些折腾,也算明白了如果要想顺畅的发出邮件的话,除了花钱,就只有自己搭建一个邮件服务器了。 好了,下面开始进入正题,教你搭建一个简单的邮件服务器。

准备

  1. 阿里云 Centos 6.5 32位
  2. ssh工具,如crt

安装

  1. 安装Postfix

    • yum -y install postfix
    • 安装完成还需要替换系统自带的sendmail:yum remove sendmail
    • 修改MTA(默认邮件传输代理) alternatives –config mta 然后直接回车即可。
    • 检查一下是不是已经设置成功 alternatives –display mta 第一行可以看到mta的状态。 例如:mat - status is manual.
  2. 安装Dovecot

    • yum -y install dovecot
  3. 配置Postfix
    • 编辑/etc/postfix/main.cf,可以下载下来修改,也可以使用vi进行编辑
    • vi /etc/postfix/main.cf
    • 修改如下:
    • 修改好了之后使用/etc/rc.d/init.d/postfix start开启postfix,使用chkconfig postfix on将postfix开机启动。
  4. 配置Dovecot
    • 修改如下:
      • vi /etc/dovecot/dovecot.conf# 26行: 如果不使用IPv6,请修改为* listen = *
      • vi /etc/dovecot/conf.d/10-auth.conf# 9行: 取消注释并修改
        • disable_plaintext_auth = no# 97行: 添加
        • auth_mechanisms = plain login
      • vi /etc/dovecot/conf.d/10-mail.conf# 30行: 取消注释并添加 mail_location = maildir:~/Maildir
      • vi /etc/dovecot/conf.d/10-master.conf# 88-90行: 取消注释并添加# Postfix smtp验证
        • unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }
      • /etc/rc.d/init.d/dovecot start
      • chkconfig dovecot on
      • 到这里,我们的邮件服务器就已经搭建成功了。
  5. 域名解析
    • 添加一个子域名mail,A记录解析到服务器IP。
    • 再添加一个MX记录,主机记录为空,记录值为上面解析的二级域名mail.lomu.me,优先级10。
  6. 邮箱使用
    • 创建用户. useradd admin
    • 设置密码,会要求输入两次密码 passwd admin
  7. 接下来登录Foxmail,如图:

    • 点击创建,进入:
    • 这里需要注意,邮件账号是admin,并不是邮箱,另外我们没有配置SSL,所以也不要勾选。 接下来点击创建,如果一切正常的话,你已经成功了。

日常晒猫