2010年11月1日 星期一

Sendmail相關設定



Sendmail收信設定:
1.相關套件:
    sendmail
    m4
    sendmail-cf

2.相關檔案:
     /etc/mail             // 設定檔所在
     /var/log/mail        // log紀錄
     /var/spool/mail     // 系統收到信,user未收取的mail存放區

3.DNS設定:
     #vim /var/named/chroot/var/named/named.snpy238  //修改資源設定檔,加入MX與A紀錄
@              IN      A       140.137.215.238
@               IN      MX 10   @


4.#/etc/init.d/sendmail restart/stop/start  // 服務啟停
   #netstat -ntupl    // 查看port:25有無開啟
   #setup  or  iptables   //設定防火牆

   測試:
   #telnet localhost 25   測試sendmail有無正確啟動
   #telnet 140.137.215.238 25  用自己的外部ip測試,預設只開啟localhost 使用

5. #cd /etc/mail
   #vim sendmail.mc
   找到DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
         //將127.0.0.1改為0.0.0.0,表示接受所有連線
  #m4 sendmail.mc > sendmail.cf   //編譯mc檔並取代原有設定檔
  #vim local-host-names  //加入
       a238.snpy.org      //讓sendmail知道負責哪一個mail domain
  #/etc/init.d/sendmail restart

sendmail送信設定(Relay):
1.使用mail指令應已可收發信,但會有限制,預設並未啟動relay功能
2.使用telnet 測試是否只收寄給localhost的信
   利用一台windows or 另一台linux
   #telnet 140.137.215.238 25
220 localhost.localdomain ESMTP Sendmail 8.13.8/8.13.8; Mon, 1 Nov 2010 21:44:33 +0800
EHLO localhost         //跟SMTP溝通
250-localhost.localdomain Hello [140.137.215.89], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
MAIL FROM: max@max.com    //從哪裡來,可以隨便打,以ip為準
250 2.1.0 max@max.com... Sender ok
RCPT to: maxplayerr@gmail.com     //要寄給誰,這是外部gmail的帳號,故需Relay才可以
550 5.7.1 maxplayerr@gmail.com... Relaying denied. IP name lookup failed [140.137.215.89]

3.啟用Relay功能
   #vim /etc/mail/access    //加入
     140.137.215.89      RELAY     //表示接受140.137.215.89過來的轉送要求
     140.137.215          RELAY     //表示接受140.137.215.0/24網段過來的轉送要求,設定此行上一行可以拿掉
   #makemap -v hash access.db < access //將access檔案內容寫入db檔案
   #/etc/init.d/sendmail restart
再利用windows telnet測試
220 localhost.localdomain ESMTP Sendmail 8.13.8/8.13.8; Mon, 1 Nov 2010 21:59:27 +0800
EHLO localhost
250-localhost.localdomain Hello [140.137.215.89], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
mail from     //打錯,在此模式下打錯字要重頭再打
501 5.5.2 Syntax error in parameters scanning "from"
mail from: max@a238.snpy.org
250 2.1.0 max@a238.snpy.org... Sender ok
rcpt to: maxplayerr@gmail.com
250 2.1.5 maxplayerr@gmail.com... Recipient ok
data   //輸入mail內容
354 Enter mail, end with "." on a line by itself
12345678
.       //mail結尾
250 2.0.0 oA1DxRqV005036 Message accepted for delivery
完成後可以到gmail去收信,看是否有正常relay
啟用SMTP認證:
1.相關套件:
cyrus-sasl-plain
cyrus-sasl
cyrus-sasl-lib
cyrus-sasl-md5

2.修改設定檔:
  #vim /etc/mail/sendmail.mc   //將下兩行註解dnl與空格拿掉,即第一個字元前面沒有空格
      TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
      define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
  #m4 sendmail.mc > sendmail.cf
  #/etc/init.d/saslauthd restart
  #/etc/init.d/sendmail restart

3.測試:
   #telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 localhost.localdomain ESMTP Sendmail 8.13.8/8.13.8; Mon, 1 Nov 2010 22:58:59 +0800
ehlo localhost
250-localhost.localdomain Hello localhost.localdomain [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN  //出現這兩個即成功
250-DELIVERBY
250 HELP


Alias: 用途在設定帳號別名,可降低被猜密碼的機率,也可設定某些特定帳號的mail給其他負責人收,如sales,services等
1.設定檔:
    /etc/aliases

2.修改設定檔:
   #vim /etc/aliases    //根據格式加入
     sales:           max              //將寄給sales@a238.snpy.org的信交由max來收
   #newaliases     //讓alias生效
 3.測試:
   用其他mail去寄信給sales@a238.snpy.org,再用max去收信看有沒取得sales的信

Dovecot: 讓outlook(MUA:Mail User Agent)等軟體可透過pop3等port來主機收信
1.相關套件:
     dovecot

2.相關檔案:
     /etc/dovecot  //設定檔

3.#/etc/init.d/dovecot restart/stop/start  // 服務啟停
   #netstat -ntupl    // 查看port:110,143,995,993有無開啟,可根據需求將其他port關閉
   #setup  or  iptables   //設定防火牆

4.設定outlook看是否能收信

**如果寄信一直有問題會被退,記得去看/var/log/maillog,也可能是hostname設定不正常。

沒有留言:

張貼留言