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,所以也不要勾选。 接下来点击创建,如果一切正常的话,你已经成功了。

    后续

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 黑色星期五
    Java实现 蓝桥杯VIP 算法训练 比赛安排
    Java实现 蓝桥杯VIP 算法训练 比赛安排
    Java实现 蓝桥杯VIP 算法训练 斜率计算
    Java实现 蓝桥杯VIP 算法训练 斜率计算
    Java实现 蓝桥杯VIP 算法训练 整数平均值
    Java实现 蓝桥杯VIP 算法训练 整数平均值
    控件动态产生器(使用RegisterClasses提前进行注册)
    Delphi编写自定义控件以及接口的使用(做了一个TpgDbEdit)
    Log4delphi使用心得
  • 原文地址:https://www.cnblogs.com/hgj123/p/6186400.html
Copyright © 2011-2022 走看看