︿
Top

Lab1. 安裝 Dovecot 並設定 IMAPs 及 POP3s

第一個 Lab 是安裝 Dovecot 並設定 IMAPs 及 POP3s。


yum -y install dovecot
make -C /etc/pki/tls/certs dovecot.pem
 Country Name (2 letter code) [GB]:TW
 State or Province Name (full name) [Berkshire]:Taiwan
 Locality Name (eg, city) [Newbury]:Taipei
 Organization Name (eg, company) [My Company Ltd]:Testing
 Organizational Unit Name (eg, section) []:直接 enter 即可
 Common Name (eg, your name or your server's hostname) []:server.example.com
 Email Address []:root@server.example.com    //完成後產生 /etc/pke/tls/certs/dovecot.pem
vi /etc/dovecot.conf    //修改 devecot 設定檔
 protocols = imaps pop3s
 ssl_cert_file = /etc/pki/tls/certs/dovecot.pem
 ssl_key_file  = /etc/pki/tls/certs/dovecot.pem
service dovecot start
netstat -tnl
 tcp        0      0 :::993   (imaps)     :::*        LISTEN
 tcp        0      0 :::995   (pop3s)     :::*        LISTEN
echo "test imaps" | mail -s "test imaps" weithenn
mutt -f imaps://weithenn@server.example.com

若用 root 的話會失敗 (因為 Dovecot 預設擋住了),用 weithenn 的話會問你 password 輸入正確後即可看到此封測試 Mail。



Lab2 ~ 5. 安裝 Sendmail 可收信 (local-host-names)、可遞送 (Relay)、別名 (Aliases)

yum –y install sendmail sendmail-cf
netstat -tnl | grep :25      //預設聽 127.0.0.1
 tcp        0      0 127.0.0.1:25        0.0.0.0:*       LISTEN
vi /etc/mail/sendmail.mc
 dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl    //開頭加上 dnl註解
service sendmail restart
netstat -tnl | grep :25      //修改後則聽 all interface
 tcp        0      0 0.0.0.0:25           0.0.0.0:*        LISTEN


Sendmail 用 local-host-names 來判斷郵件是否為本機郵件 (決定是否收下至 MailBox),若不是本機的信就會跑到 /var/spool/mqueue 並嘗試參考 /etc/mail/access 來轉送(Relay) 郵件出去。
cat /etc/mail/local-host-names
 example.com
 station7.example.com
 mail.example.com


Sendmail 的 Relay 設定檔為 /etc/mail/access,例如 weithenn@server.example.com 寄給 chris@client.example.com 則在 server 上系統會發現 chris@client.example.com 不是本機郵件地址,所以會參考 /etc/mail/access 看郵件要轉送(Relay)給誰,所以 /etc/mail/access 要設定 client.example.com 且 client 要取消 SMTP 127.0.0.1 才可。
vi /etc/mail/access
 Connect:192.168.0     RELAY     //表示幫區網轉送
sendmail –q                   //重送郵件
tail /var/log/maillog        //查 maillog
 stat=Deferred: client.example.com.: No route to host        //client firewall 沒開
 stat=Sent (nBQ5C3cg014254 Message accepted for delivery)    //寄成功


Sendmail 用 /etc/ aliases 來控制郵件的別名寄信。
vi /etc/aliases
 hr: root,weithenn     //寄給 hr 就轉寄給 root 及 weithenn
newaliases          //載入郵件別名
echo "test" | mail -s "send to hr" hr@server.example.com
 Dec 26 08:30:35 server sendmail[6738]: nBQ0UY4s006738: from=<root@server.example.com>, size=344, class=0, nrcpts=1,
 msgid=<200912260030.nBQ0UX9G006736@server.example.com>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
 Dec 26 08:30:35 server sendmail[6736]: nBQ0UX9G006736: to=hr@server.example.com, ctladdr=root (0/0), delay=00:00:02,
 xdelay=00:00:01, mailer=relay, pri=30052, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0,  stat=Sent (nBQ0UY4s006738 Message accepted for delivery)
 Dec 26 08:30:35 server sendmail[6740]: nBQ0UY4s006738: to=weithenn, ctladdr=<root@server.example.com> (0/0), delay=00:00:00,
 xdelay=00:00:00, mailer=local, pri=60570, dsn=2.0.0, stat=Sent
 Dec 26 08:30:35 server sendmail[6740]: nBQ0UY4s006738: to=root, ctladdr=<root@server.example.com> (0/0),
 delay=00:00:00, xdelay=00:00:00, mailer=local, pri=60570, dsn=2.0.0, stat=Sent
文章標籤: