zoukankan      html  css  js  c++  java
  • postfix+dovecot配置多域名邮件服务器

    mail邮局系统的MX(邮件交换)记录配置,以便收发邮件。(MX记录,是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器,如果没有做域名解析,邮局不能正常使用,即不能正常的发送或者接收邮件。)

    一、安装postfixdovecot

    yum install postfix dovecot
    chkconfig postfix on
    chkconfig dovecot on

    也可以用一次安装所有依赖包 yum install sysstat   postfix   crontabs redhat-lsb-graphics   redhat-lsb-core   arpwatch  cronie dovecot

    1、配置postfix

    vi /etc/postfix/main.cf

    # change or add on these line:

    myhostname = yes81.net

    mydomain = yes81.net

    myorigin = $mydomain

    inet_interfaces = all

    mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

    mynetworks = 127.0.0.0/8

    home_mailbox = Maildir/

     

    smtpd_sasl_type = dovecot

    smtpd_sasl_path = private/auth

    smtpd_sasl_auth_enable = yes

    smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, permit

    broken_sasl_auth_clients = yes

    2dovecot配置

    vi /etc/dovecot/dovecot.conf

    # uncomment on this line:

    protocols = imap pop3

    listen = *

    3、配置认证方式

    vi /etc/dovecot/conf.d/10-auth.conf

    # change on these line:

    disable_plaintext_auth = no

    auth_mechanisms = plain login

    4、设置邮箱文件夹

    vi /etc/dovecot/conf.d/10-mail.conf

    mail_location = maildir:~/Maildir

    5、配置认证

    vi /etc/dovecot/conf.d/10-master.conf

    # commented on these line:

    #unix_listener auth-userdb {

        #mode = 0600

        #user =

        #group =

      #}

     

    # change or setup on these line:

    # Postfix smtp-auth

      unix_listener /var/spool/postfix/private/auth {

        mode = 0666

        user = postfix

        group = postfix

      }

    6、配置pop3

    vi /etc/dovecot/conf.d/20-pop3.conf

    # uncomment on these line:

    pop3_uidl_format = %08Xu%08Xv

    pop3_client_workarounds = outlook-no-nuls oe-ns-eoh

    7、重启dovecot postfix

    Service dovecot restart

    Service postfix restart

     

    8、增加用户和设置用户密码

     这个时候就可以增加用户和设置用户密码,然后测试收发

    groupadd mailuser

    adduser -g mailuser -s /sbin/nologin test1

    passwd  test1

    adduser -g mailuser -s /sbin/nologin test2

    passwd  test2

    打开FOXMAIL等邮件工具测试,能正常收发,就表示系统可以了。

    test1@mail.yes81.net  test2@mail.yes81.net

     

    二、 如果无法发信

    试着发送邮件,如果发送不出去,查看日志文件/var/log/maillog 如果显示:

    postfix/smtp[17105]: fatal: unknown service: smtp/tcp

    postfix/smtpd: disconnect from unknown[113.64.242.145]

    postfix/qmgr: warning: private/smtp socket: malformed response

    postfix/qmgr: warning: transport smtp failure -- see a previous warning/fatal/panic logfile record for the problem description

    postfix/master: warning: process /usr/libexec/postfix/smtp pid 17105 exit status 1

    postfix/master: warning: /usr/libexec/postfix/smtp: bad command startup -- throttling

    这是由于邮件默认的postfix账号无法执行/etc/services,权限不足所致。查看service的权限为640:

     Chmod 644 /etc/services   于是将其改为644:

     重新启动2个服务后就可以看到,一切正常了!

     

    三、如何添加虚拟域名:

    http://www.postfix.org/VIRTUAL_README.html

    按照官方指导,对于多域名的支持postfix支持以下几种方式:

    1.共享域名,共享Unix账户

    2.虚拟别名(Virtual Alias)独立域名,共享Unix账户

    3.虚拟邮箱(Virtual Mailbox)独立域名,无需Unix账户

    4.转发服务器(Forwarding Server)用做备份服务器,主服务器故障时暂存邮件,恢复后直接转发给主服务器

     

    从官网查到后,决定采用第2种方法:虚拟别名(Virtual Alias)独立域名,共享Unix账户

    vi /etc/postfix/main.cf 
         virtual_alias_domains = t3t3.org
          virtual_alias_maps = hash:/etc/postfix/virtual
          alias_maps=hash:/etc/aliases
     
    vi /etc/postfix/virtual
          test1@t3t3.org  test1
         test2@t3t3.org  test2
         test1@yes81.net  test1
         test2@yes81.net  test2
    vi /etc/aliases  //把刚添加的帐号做个别名
    test1:     test1
    test2:     test2
     

    postmap /etc/postfix/virtual   //reload 数据库后需新域名就可以使用了

    postalias /etc/aliases   //   postfix  /etc/aliases命令是否等同?

    newaliases

    postfix  reload       //reload

    Service dovecot restart  //重新启动

    Service postfix restart  //重新启动

     

    如果操作postfix  /etc/aliases时候出现/usr/libexec/postfix/postfix-script: line 337: /etc/aliases: Permission denied则需要修改权限:

    chmod 664 /etc/aliases

    chown root /etc/aliases

    chmod 755 /etc/aliases.db

    chown smmsp /etc/aliases.db

    修改好权限后,再次执行reload和重新等命令

    如此后邮件服务器就可以用test1@yes81.net   test1@t3t3.org进行收发邮件了。

  • 相关阅读:
    EL表达式
    单例模式
    标准标签JSTL
    五大常用算法之三:贪心算法
    python字符串处理
    判断视图存不存在
    判断插入的数据在表中存不存在
    sql因为发现对象名称 'dbo.Ct2' 和索引名称 'PK_Ct2' 有重复的键,所以ALTER TABLE ALTER COLUMN 。。。 失败。
    C# MD5算法 16 32 大小写
    制作VS2022中文离线安装包
  • 原文地址:https://www.cnblogs.com/fatt/p/4362892.html
Copyright © 2011-2022 走看看