1 北區機房 IP 維運處暨 IDC 維運組 鄭任峰 郵件系統維運 課程 : Sendmail 與 postfix 的設定與比較 北區機房 IP 維運處暨 IDC 維運組 鄭任峰
2 Contents relative RFC Postfix compare with Sendmail Mail deliverly process Mail relay process DNS MX Resource Record MX Backup Postfix definitive: Postfix Major MDA purpose Postfix Big picture Postfix Queue Manager Postfix Content Filter Postfix Configuration Sendmail definitive: Sendmail Major MDA purpose Sendmail Big picture Sendmail Configuration Different between Postfix & Sendmail Command Different between Postfix & Sendmail Configuration
3 relative RFC RFC 2181 : Clarifications to the DNS Specification RFC 2821 : communicate with SMTP protocol for exchange mails RFC 1939 : retrieve mails with POP3 protocol RFC 2060 : retrieve mails with IMAP protocol
4 MUA/MTA/MDA MUA (Mail User Agent) Outlook, Thunderbird, Eudora, pine … MTA (Mail Transfer Agent) Postfix, Qmail, Sendmail, MS Exchange … MDA (Mail Delivery Agent) local, smtp, sendmail, virtual, lmtp …
5 Postfix compare with Sendmail Reliability: prevent resource exhaust Queue Management : flush/hold /re-queue Modules: dozen of MDAs Configuration Setting: separate parameter Concurrency Control: outgoing/incoming flow Transport: designate MDA Privilege: chroot Blocking: Client restriction/Syntex/ Content check/User defined
6 Mail deliverly process MUA Sender SMTP Mail Storage POP3 / IMAP MTA MDA POP/IMAPMUA Mail System Yellow MDA Green MUA Red Storage pink Server DNS Mail from: Mail to: Domain : aptg.net Recipient
7 Mail relay process MUA Sender SMTP MTA MDA MUA Mail System Yellow MDA Green MUA Pink Server DNS Mail from: Mail to: Domain : aptg.net Recipient MTA
8 DNS MX Resource Record From: To: Step 1: MUA deliver mail(s) to aptg.net for relay Step 2: aptg.net request ‘pchome.com.tw’ for DNS MX RR by Resolver Step 3: PCHOME DNS server respond MX RR : mx.pchome.com.tw Step 4: Resolver request for A RR of ‘MX RR’ Step 5: PCHOME DNS server respond A RR: Step 6: Resolver provide pchome mail server IP to aptg.net Step 7: aptg.net deliver mail(s) to Port 25 with SMTP protocol SMTP (step 7) aptg.net mx.pchome.com.tw ( ) Client Outlook Resolver SMTP (step 1,6) DNS Query & Response ( Step 2,3,4,5) pchome.com.tw MX preference=10 mail exchanger=mx.pchome.com.tw mx.pchome.com.tw Address:
9 MX Backup SMTP Mail2.a.b.c Internet Mail1.a.b.c Deliver process Queue SMTP DNS Server MX RR SMTP Yellow MDA Pink Server mail.a.b.c MX preference = 10, mail exchanger = mail1.a.b.c mail.a.b.c MX preference = 20, mail exchanger = mail2.a.b.c
10 Postfix definitive Postfix Major MDA purpose Postfix Big picture Postfix Queue Manager Postfix Content Filter Postfix Configuration
11 Postfix Major MDA purpose master: initiate/restart MDA, concurrency limitation qmgr: decide transport, move/flush/delete/hold queue cleanup: assign QueueID, push to qmgr (incoming) smtpd: listenning incoming request pickup: get queue from maildrop rewrite: rewrite header smtp: handle outgoing request local: put mail into disk (local user maildir/mailbox format) lmtp: put mail into disk (local/virtual user other format) virtual: put mail into disk (virtual user maildir/mailbox format) pipe: pipe to program bounce: handle return mail
12 Postfix Big Picture (1/7)
13 Postfix Big Picture (2/7) From outside and relay to outside domain smtpdcleanup Trivial- rewrite incoming qmgr Yellow MDA Blue Queue Pool Gray Queue Manager Pink Server activesmtp DNS Server SMTP Server / MUA send mail(s) to outside domain
14 Postfix Big Picture (3/7) From outside and deliver to local domain smtpdcleanup Trivial- rewrite incoming qmgr active local/lmtp/ virtual Mail Storage Yellow MDA Blue Queue Pool Gray Queue Manager Pink Storage Aliases/forward table SMTP Server / MUA deliver mail(s) to inside domain
15 Postfix Big Picture (4/7) From local host and relay to outside domain Pickupcleanup Trivial- rewrite incoming qmgr postdrop From local host maildropactivesmtp DNS Server Yellow MDA Blue Queue Pool Gray Queue Manager Pink Server
16 Postfix Big Picture (5/7) From local host and deliver to local domain Pickupcleanup Trivial- rewrite incoming qmgr postdrop From local host maildropactive local/lmtp/ virtual Yellow MDA Blue Queue Pool Gray Queue Manager Red Storage Mail Storage Aliases/forward table
17 Postfix Big Picture (6/7) MDA & qmgr postdrop smtpd incoming qmgr active smtp deferred local virtual pipe pickupcleanup trivial- rewrite maildrop INPUT MDA OUTPUT MDA Internal MDA hold Yellow MDA Blue Queue Pool Gray Queue Manager lmtp
18 Postfix Big Picture (7/7) Adding Content-Filter smtpd chkmsg smtp incoming cleanup deferred qmgr Yellow MDA Blue Queue Pool Gray Queue Manager Deep Blue Amavis activecleanup Amavis smtpd Port:10024 Port:10025 Port:25
19 Postfix Configuration Master.cf
20 Postfix Configuration - main.cf (1/3) Filter
21 Postfix Configuration - main.cf (2/3)
22 Postfix Configuration - main.cf (3/3)
23 Sendmail definitive Sendmail Major MDA purpose Sendmail Big picture Sendmail Configuration
24 Sendmail Major MDA purpose smtp: handle outgoing request local: put mail into disk (local user mailbox format) pipe to program uucp: unix to unix copy X.400: other address format
25 Sendmail Big Picture
26 Sendmail Configuration – sendmail.cf (1/3)
27 Sendmail Configuration – sendmail.cf (2/3)
28 Sendmail Configuration – sendmail.cf (3/3)
29 Different between Postfix & Sendmail Command start/stop/reload Daemon postfix start/stop/reload sendmail –bd –q1h/killall –TERM sendmail/killall –HUP sendmail flush/delete/requeue queue postfix flush/postsuper –d ALL/postsuper –r sendmail –q/ rm queue / none major configuration file master.cf / main.cf sendmail.cf / sendmail.mc / local-host-names Postfix Sendmail Postfix Sendmail Postfix Sendmail
30 Different between Postfix & Sendmail Configuration (1/3) major configuration file master.cf / main.cf sendmail.cf / sendmail.mc / local-host-names Local domain mydestination = aptg.net (main.cf) Cwaptg.net (sendmail.cf 或 local-host-names) Relay domain relay_host = apol.com.tw (main.cf) apol.com.tw (relay-domains) Postfix Sendmail Postfix Sendmail Postfix Sendmail
31 Different between Postfix & Sendmail Configuration (2/3) Smart relay transport_maps = hash:/etc/postfix/transport (main.cf) apol.com.twsmtp:[mx.apol.com.tw]:25 (/etc/postfix/transport) DSsmtp.aptg.net (sendmail.cf) Queue Bounce maximal_queue_lifetime = 1d (main.cf) O Timeout.queuereturn=1d (sendmail.cf) Queue retry queue_run_delay = 4h (main.cf) O Timeout.queuewarn=4h (sendmail.cf) Postfix Sendmail Postfix Sendmail Postfix Sendmail
32 Different between Postfix & Sendmail Configuration (3/3) Process Control (master.cf) service type private unpriv chroot wakeup maxproc command + args smtp inet n - n smtpd O MaxDaemonChildren=300 (sendmail.cf) Max Message Size message_size_limit = (main.cf) O MaxMessageSize= (sendmail.cf) Recipients limitation smtpd_recipient_limit = 100 (main.cf) O MaxRecipientsPerMessage=100 (sendmail.cf) Postfix Sendmail Postfix Sendmail Postfix Sendmail
33 Reference Postfix Official site Sendmail Official site V-Bird Postfix Building V-Bird Sendmail Building Sendmail Instruction Postfix Instruction
34 Q & A