Netman (netman@study-area.org) Sendmail 基礎與常見問題解決 Netman (netman@study-area.org)
主題大綱 * E-MAIL 協定簡介 * DNS 與 E-Mail 的關系 * Sendmail 運作流程 * Sendmail 常見設定 主題大綱 * E-MAIL 協定簡介 * DNS 與 E-Mail 的關系 * Sendmail 運作流程 * Sendmail 常見設定 * Sendmail 常見問題與解決方案
MUA & MTA User Agent: 讀寫郵件, 但不具備郵件遞送能力. Transfer Agent 負責郵件遞送工作的接收. 1.E-Mail 協定簡介 MUA & MTA User Agent: 讀寫郵件, 但不具備郵件遞送能力. Transfer Agent 負責郵件遞送工作的接收.
MTA 透過 SMTP 接收郵件並進行遞送處理. 本機郵件將寫進 /var/spool/mail/user 1.E-Mail 協定簡介(SMTP) MTA 透過 SMTP 接收郵件並進行遞送處理. 本機郵件將寫進 /var/spool/mail/user
1.E-Mail 協定簡介(SMTP) SMTP 運作實例
1.E-Mail 協定簡介(POP) 本機 MUA 將 /var/spool/mail/user 的郵件搬至 ~user/mbox MUA 也可透過 POP 從 MTA 下載郵件.
1.E-Mail 協定簡介(POP) POP-3 運作實例
1.E-Mail 協定簡介(POP) POP-3 運作實例(續)
發送端 MTA 透過 DNS 查訊接收端 MTA MX & A 記錄的關係 2. DNS 與 E-Mail 的關係 發送端 MTA 透過 DNS 查訊接收端 MTA MX & A 記錄的關係
2. DNS 與 E-Mail 的關係 DNS 實例分析(1) : user@my.domain $ORIGIN my.domain. @ IN A 1.2.3.4 @ IN MX 10 host1.my.domain. host1 IN A 1.2.3.5 - 郵件會轉到 1.2.3.5 的 SMTP port 去.
2. DNS 與 E-Mail 的關係 DNS 實例分析(2) : user@my.domain $ORIGIN my.domain. @ IN MX 10 host2.my.domain. @ IN A 1.2.3.4 host1 IN A 1.2.3.5 - 郵件將被退回
2. DNS 與 E-Mail 的關係 DNS 實例分析(3) : user@my.domain $ORIGIN my.domain. @ IN A 1.2.3.4 host1 IN A 1.2.3.5 - 郵件會轉到 1.2.3.4 的 SMTP port 去.
2. DNS 與 E-Mail 的關係 DNS 實例分析(4) : user@my.domain $ORIGIN my.domain. host1 IN A 1.2.3.4 - 郵件將被退回.
3.Sednamil 運作流程 流程略圖
主要判定設定點 e-mail address: user@domain Sender & Recipient 3.Sednamil 運作流程 主要判定設定點 e-mail address: user@domain Sender & Recipient
4.Sednamil 常見設定 Local 設定 (比對@右邊) 不帶 @ 的 email address hostname grep ‘^Cw’ /etc/mail/sendmail.cf cat /etc/mail/local-host-names
4.Sednamil 常見設定 Access 設定(比對發信端與收信端) /etc/mail/access my.com RELAY 192.168.1 OK FROM: bad.com REJECT “xxx!” spam.com DISCARD cd /etc/mail; makemap hash access.db < access
4.Sednamil 常見設定 Rewrite 設定(比對@左邊) /etc/aliases (newaliaes) u1: u2, u3@some.where u2: u4, u5 sales: george, merry ~/.forward /etc/mail/virtusertables (makemap)
MX Loop Back - 關鍵是 local 判定 5.Sednamil 常見問題與解決方法 MX Loop Back - 關鍵是 local 判定
Relay Denied 關鍵在 access.db Local mail 不屬 relay 5.Sednamil 常見問題與解決方法 Relay Denied 關鍵在 access.db Local mail 不屬 relay
Open Relay 嚴緊控制 Auth-SMTP 5.Sednamil 常見問題與解決方法 Open Relay 嚴緊控制 Auth-SMTP
Auth SMTP vi /etc/mail/sendmail.mc 5.Sednamil 常見問題與解決方法 TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN‘ m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf service sendmail restart
5.Sednamil 常見問題與解決方法 Daemon Port vi /etc/mail/sendmail.mc dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf service sendmail restart
POP /etc/xinetd.d/ipop3 disable = no service xinetd restart 5.Sednamil 常見問題與解決方法 POP /etc/xinetd.d/ipop3 disable = no service xinetd restart
其它 Anti-spam Mail queue Smart-host Virtual Host MX Redundancy 5.Sednamil 常見問題與解決方法 其它 Anti-spam Mail queue Smart-host Virtual Host MX Redundancy
謝謝﹗