HOME 生活记录运维/编程
作者/来源:yixinu.com
栏目:运维/编程
日期:2012-05-05 02:53:18

Mail server 与 DNS 之间的关系

   

    1、Mail server 与合法的主机名

   

    2、DNS 的反解也很重要!

        对于一般的服务器来说,我们只要使用正解让客户端可以正确的找到我们服务器

        不过,由于目前收信端的邮件服务器会针对邮件来源的 IP 进行反解,而如果你的网络环境是由拨接取得非固定的 IP 时,,该种 IP 在 ISP 方面通常会主动的以 xxx.dynamic.xxx 之类的主机名来管理,偏偏这样的主机名会被主要的大型邮件服务器 (例如 hotmail, yahoo 等) 视为垃圾信件所以啊…………

   

    3、需要 DNS 的 MX 及 A 标志啊 (超重要的 MX)!

        以底下这个 DNS 范例来说

xyz.com.vbird IN MX 10 mail.xyz.com.vbird 
xyz.com.vbird IN MX 20 mail2.xyz.com.vbird 
xyz.com.vbird IN A aaa.bbb.ccc.ddd
          假如上述的 DNS 设定是正常的,那么:
            1)、当有一封信要传给 user@xyz.com.vbird 时,由于 MX 标志最低者优先,所以该封信会先传送到 mail.xyz.com.vbird 那部主机。
            2)、如果 mail.xyz.com.vbird 由于种种原因,导致无法收下该封信时,该封信将以次要 MX 主机来传送,那就是传送到 mail2.xyz.com.vbird 那部主机上头;
            3)、如果两部 MX 主机都无法负责的话,那么该封信会直接以 A 的标志,亦即直接传送到 aaa.bbb.ccc.ddd 那个 IP 上头去, 也就是 xyz.com.vbird 本身啦!


        MX 标志一定要设定正确,否则你的信件将可能会直接被 MX 服务器踢掉。为了要设定 MX 但是我们没有上层邮件服务器时,所以你可以指定 MX 为自己,利用自己当 MX 服务器即可。

        这个 MX 有啥好处啊?

        一般来说,如果目标主机挂点时,你的邮件通常会直接退还给原发信者, 但如果有 MX 主机时,这部 MX 主机会先将该封信放在他的队列 (queue) 当中,等到你的目标主机重新提供邮件服务后, MX 主机会将你的信件传送给目标主机,如此一来你的信件就比较不会遗失啊!这样说,您可以了解吧!


    4、邮件传输所需要的组件 (MTA, MUA, MDA) 以及相关协议

            1)、MUA (Mail User Agent):顾名思义 MUA 就是『邮件使用者代理人』的意思,因为除非你可以直接利用类似 telnet 之类的软件登入邮件服务器来主动发出信件,否则您就得要透过 MUA 来帮你送信到邮件服务器上头去。

            2)、MTA (Mail Transfer Agent):MUA 帮用户传送邮件到邮件主机上,那这部邮件主机如果能够帮用户将这封信寄出去,那他就是一部邮件传送主机 (MTA) 啦!这个 MTA 就是『邮件传送代理人』的意思。MTA 的功能有这些:

                    a)、收受信件:使用简单邮件传送协议(SMTP)

                    b)、转递信件: 如果该封信件的目的地并不是本身的用户,且该封信的相关数据符合使用 MTA 的权力, 那么咱们的 MTA 就会将该封信再传送到下一部主机上。




example 1 :  配置  postfix


    开启监听所有网卡端口


inet_interfaces = all


   

   


------------------------------------------------------------------------


example 2 :  配置  dovecot



    dovecot 配置

     protocols = imap pop3    使用不加密的方式传输

[root@testserver001 dovecot]# cat dovecot.conf | grep -E "^[^#|?]"
protocols = imap pop3
dict {
  #quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
  #expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
}
!include conf.d/*.conf


    10-auth.conf

    disable_plaintext_auth = no            禁止明文传输,设置为no


[root@testserver001 conf.d]# cat 10-auth.conf | grep -E "^[^#| ]"
disable_plaintext_auth = no
auth_mechanisms = plain
!include auth-system.conf.ext



    10-mail.conf

    mail_location = mbox:~/mail:INBOX=/var/mail/%u    这一行得自己设置 ,默认是没有开启的。

[root@testserver001 conf.d]# cat 10-mail.conf | grep -E "^[^#| ]"
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mbox_write_locks = fcntl



    10-master.conf

        port = 143  

        port = 110

            这两行去掉注释。。

[root@testserver001 conf.d]# cat 10-master.conf | grep -E "^[^#]"
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    #……
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
  # ……
  }
}
service lmtp {
  unix_listener lmtp {
    #mode = 0666
  }
}
service imap {
 # ……
}
service pop3 {
 #……
}
service auth {
 #……
  }
 #……
}
service auth-worker {
 #……
}
service dict {
 #……
  unix_listener dict {
    #mode = 0600
    #user = 
    #group = 
  }
}



    10-ssl.conf

        ssl = no   这里改 yes 为  no

[root@testserver001 conf.d]# cat 10-ssl.conf | grep -E "^[^#| ]"
ssl = no
ssl_verify_client_cert = no


分享到:

Copyright © 2013-2014 yixinu.com 湘ICP备14004402号

QQ:316686606  Email: 316686606@qq.com