zoukankan      html  css  js  c++  java
  • Linux系统下邮件服务器的搭建(Postfix+Dovecot)

    对于网站来说,发送各种例如注册通知的邮件是很基本的一个需求,之前我一直用的是腾讯的企业邮箱,感觉挺方便的,直接可以绑定QQ邮箱接收邮件,网站配置一下SMTP也就可以发出邮件。

    但是在前几天由于有重要信息需要立即通知用户,所以选择了群发邮件的方式。在当我以为一切都是辣么完美的时候,陆续有用户过来问我什么情况,我都会跟他们说请查收邮件,但是有好几个人说并没有任何邮件,于是我试着再发一次,结果返回了错误提示。在网上找了下原因,后来看到这个:各大免费邮箱邮件群发账户SMTP服务器配置及SMTP发送量限制情况,才知道是因为发信数量限制了。

    所以只好另寻出路了,然后我在知乎上面找到了很多个提供邮件发送的服务商,大概有这些:SendGrid、MailChimp、Amazon SES、SendCloud、Mailgun等等,在看了不少人的建议之后,我选择了Mailgun。

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

    经过上面这些折腾,也算明白了如果要想顺畅的发出邮件的话,除了花钱,就只有自己搭建一个邮件服务器了。

    好了,下面开始进入正题,教你搭建一个简单的邮件服务器。

    用于搭建的服务器信息

    阿里云 Centos 6.5 32位

    安装过程

    1.安装Postfix

    yum -y install postfix
    

    安装完成还需要替换系统自带的sendmail:

    rpm -e 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
    

    修改如下:

    # 75行: 取消注释,设置hostname
    myhostname = mail.lomu.me
    # 83行: 取消注释,设置域名
    mydomain = lomu.me
    # 99行: 取消注释
    myorigin = $mydomain
    # 116行: 修改
    inet_interfaces = all
    # 119行: 推荐ipv4,如果支持ipv6,则可以为all
    inet_protocols = ipv4
    # 164行: 添加
    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
    # 264行: 取消注释,指定内网和本地的IP地址范围
    mynetworks = 127.0.0.0/8, 10.0.0.0/24
    # 419行: 取消注释,邮件保存目录
    home_mailbox = Maildir/
    # 571行: 添加
    smtpd_banner = $myhostname ESMTP
    
    # 添加到最后
    # 规定邮件最大尺寸为10M
    message_size_limit = 10485760
    # 规定收件箱最大容量为1G
    mailbox_size_limit = 1073741824
    # SMTP认证
    smtpd_sasl_type = dovecot
    smtpd_sasl_path = private/auth
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_security_options = noanonymous
    smtpd_sasl_local_domain = $myhostname
    smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
    

    修改好了之后使用/etc/rc.d/init.d/postfix start开启postfix,使用chkconfig postfix on将postfix开机启动。

    4.配置Dovecot

    修改如下:

    [root@mail ~]# vi /etc/dovecot/dovecot.conf
    # 26行: 如果不使用IPv6,请修改为*
    listen = *
    
    [root@mail ~]# vi /etc/dovecot/conf.d/10-auth.conf
    # 9行: 取消注释并修改
    disable_plaintext_auth = no
    # 97行: 添加
    auth_mechanisms = plain login
    
    [root@mail ~]# vi /etc/dovecot/conf.d/10-mail.conf
    # 30行: 取消注释并添加
    mail_location = maildir:~/Maildir
    
    [root@mail ~]# 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
    }
    
    [root@mail ~]# /etc/rc.d/init.d/dovecot start
    Starting Dovecot Imap:     [ OK ]
    
    [root@mail ~]# chkconfig dovecot on 
    

    到这里,我们的邮件服务器就已经搭建成功了。

    5.域名解析

    最后别忘了还需要进行域名解析工作。

    添加一个子域名mail,A记录解析到服务器IP。

    再添加一个MX记录,主机记录为空,记录值为上面解析的二级域名mail.lomu.me,优先级10。

    注意:解析生效可能需要一段时间。

    6.邮箱使用

    一切都弄好以后,就可以使用Foxmail等第三方软件来收发邮件了。在这里需要说一下,系统用户就是邮件的用户,例如root,就是一个邮箱用户,邮箱是root@domain.com,密码就是root的密码,所以需要创建用户,只要使用useradd创建用户,再使用passwd设置密码。

    好了,假如我们创建一个admin的用户:

    # 创建用户
    useradd admin
    #设置密码,会要求输入两次密码
    passwd admin
    

    接下来登录Foxmail,如图:

    登录Foxmail

    点击创建,进入:

    登录Foxmail

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

    后续

  • 相关阅读:
    flex 和bison的安装和使用
    c++ map
    C++ 值传递、址传递、引用传递
    位运算
    POJ 1185 炮兵阵地 (状压DP)
    POJ 3114 Countries in War(强联通分量+Tarjan)
    Codeforces Round #262 (Div. 2) A B C
    2014多校第十场1002 || HDU 4972 A simple dynamic programming problem
    2014多校第十场1004 || HDU 4974 A simple water problem
    POJ 1144 Network(Tarjan)
  • 原文地址:https://www.cnblogs.com/hgj123/p/6186400.html
Copyright © 2011-2022 走看看