Linux下mail伺服器應用之sendmail郵件系統的一個案例
sendmail郵件系統的一個案例
實驗拓撲 ① :在mail.bj.com安裝sendmail並進行簡單配置 [root@mail ~]# mkdir /mnt/cdrom[root@mail ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@mail ~]# cd /mnt/cdrom/Server/[root@mail Server]# rpm -qa |grep -E "sendmail|m4"
m4-1.4.5-3.el5.1 sendmail-8.13.8-2.el5[root@junjie Server]# rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm
[root@mail Server]# cd /etc/mail/ [root@mail mail]# ls Makefile domaintable.db mailertable.db submit.mc access helpfile sendmail.cf trusted-users access.db local-host-names sendmail.mc virtusertable116 DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
[root@mail ~]# netstat -tupln |grep sendmail
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3407/sendmail: acce
[root@mail ~]# service sendmail restart[root@mail ~]# netstat -tupln |grep sendmail
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 4440/sendmail: acce
中繼文件: [root@mail mail]# vim access #增加10,11,12行 9 Connect:127.0.0.1
增加:bj.com
重新啟動sendmail伺服器: [root@mail mail]# chkconfig sendmail on [root@mail mail]# service sendmail restart Shutting down sm-client: [ OK ] Shutting down sendmail: [ OK ] Starting sendmail: [ OK ] Starting sm-client: [ OK ][root@mail ~]# echo "123" |passwd --stdin user1
[root@mail ~]# echo "123" |passwd --stdin user2
② :搭建dns伺服器,並作相關配置: [root@mail ~]# cd /mnt/cdrom/Server/[root@mail Server]# rpm -ivh bind-9.3.4-10.P1.el5.i386.rpm
[root@mail Server]# rpm -ivh bind-chroot-9.3.4-10.P1.el5.i386.rpm
[root@....Server]# rpm -ivh caching-nameserver-9.3.4-10.P1.el5.i386.rpm
[root@mail Server]# cd /var/named/chroot/etc/
[root@mail etc]# ll[root@mail etc]# cp -p named.caching-nameserver.conf named.conf
[root@mail etc]# vim named.rfc1912.zones
增加以下幾行:
20 zone "bj.com" IN {
21 type master;22 file "bj.com.db";
23 allow-update { none; };
24 }; [root@mail etc]# cd ../var/named/ [root@mail named]# ll[root@mail named]# cp -p localhost.zone bj.com.db
9 @ IN NS ns.bj.com.
10 ns IN A 10.106.6.254 11 mail IN A 10.106.6.254 12 pop3 IN CNAME mail 13 smtp IN CNAME mail14 @ IN MX 10 mail
[root@mail named]# chkconfig named on [root@mail named]# service named startStarting named: [ OK ]
③ :客戶端測試dns解析,進行簡單配置:進行系統配置:
[root@mail named]# vim /etc/resolv.conf
1 nameserver 10.106.6.254[root@mail named]# vim /etc/sysconfig/network
3 HOSTNAME=mail.bj.com [root@mail named]# vim /etc/hosts127.0.0.1 mail.bj.com localhost.localdomain localh ost
[root@mail named]#init 6 [root@mail ~]# yum install -y dovecot [root@mail ~]# chkconfig dovecot on [root@mail ~]# service dovecot startStarting Dovecot Imap: [ OK ] [root@mail ~]# netstat -tupln |grep dovecot
(110,143,993(imaps),995(pop3s))
⑤ :bj.com客戶端發送信息測試:(使用foxmail) user1給user1發送信息:user1給user2發送信息:
日誌分析:Mar 23 10:45:50 mail sendmail[3938]: q2N2jovd003938: from=<user1@bj.com>, size=1430, class=0, nrcpts=1, msgid=<201203231044542450591@bj.com>, proto=ESMTP, daemon=MTA, relay=[10.106.6.190]
Mar 23 10:45:50 mail sendmail[3939]: q2N2jovd003938: to=<user1@bj.com>, ctladdr=<user1@bj.com> (501/501), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31594, dsn=2.0.0, stat=Sent
Mar 23 10:46:08 mail d
Mar 23 10:46:09 mail dovecot: POP3(user1): Disconnected: Logged out top=0/0, retr=1/1696, del=0/1, size=1679
Mar 23 10:58:20 mail sendmail[4012]: q2N2wKKs004012: from=<user1@bj.com>, size=1481, class=0, nrcpts=1, msgid=<201203231057242513780@bj.com>, proto=ESMTP, daemon=MTA, relay=[10.106.6.190]
Mar 23 10:58:20 mail sendmail[4013]: q2N2wKKs004012: to=<user2@bj.com>, ctladdr=<user1@bj.com> (501/501), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31645, dsn=2.0.0, stat=Sent
Mar 23 10:59:09 mail dovecot: pop3-login: Aborted login: user=<user2@bj.com>, method=PLAIN, rip=::ffff:10.106.6.190, lip=::ffff:10.106.6.254
Mar 23 10:59:09 mail dovecot: pop3-login: Login: user=<user2>, method=PLAIN, rip=::ffff:10.106.6.190, lip=::ffff:10.106.6.254
Mar 23 10:59:09 mail dovecot: POP3(user2): Disconnected: Logged out top=0/0, retr=1/1748, del=0/2, size=3448
[root@mail ~]# mount /dev/cdrom /mnt/cdrom/
[root@mail ~]# cd /mnt/cdrom/Server/[root@mail Server]# rpm -qa |grep -E "sendmail|m4"
[root@junjie Server]# rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm
[root@mail Server]# cd /etc/mail/ [root@mail mail]# ls 編輯主要配置文件: [root@mail mail]# vim sendmail.mc116 DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
[root@mail ~]# netstat -tupln |grep sendmail
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3607/sendmail: acce
[root@mail ~]# service sendmail restart[root@mail ~]# netstat -tupln |grep sendmail
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 3528/sendmail: acce
中繼文件: [root@mail mail]# vim access #增加10,11,12行9 Connect:127.0.0.1 RELAY
10 Connect:10.106.6 RELAY 11 sh.com OK 12 bj.com RELAY 表明郵件伺服器的域名:增加:sh.com
重新啟動sendmail伺服器: [root@mail mail]#chkconfig sendmail on [root@mail mail]# service sendmail restart Shutting down sm-client: [ OK ] Shutting down sendmail: [ OK ] Starting sendmail: [ OK ] Starting sm-client: [ OK ] 新建賬戶: [root@mail ~]# useradd user3 [root@mail ~]# useradd user4[root@mail ~]# echo "123" |passwd --stdin user3
[root@mail ~]# echo "123" |passwd --stdin user4
⑦ :搭建mail.sh.com的dns伺服器,並作相關配置: [root@mail ~]# cd /mnt/cdrom/Server/[root@mail Server]# rpm -ivh bind-9.3.4-10.P1.el5.i386.rpm
[root@mail Server]# rpm -ivh bind-chroot-9.3.4-10.P1.el5.i386.rpm
[root@....Server]# rpm -ivh caching-nameserver-9.3.4-10.P1.el5.i386.rpm
[root@mail Server]# cd /var/named/chroot/etc/
[root@mail etc]# ll[root@mail etc]# cp -p named.caching-nameserver.conf named.conf
[root@mail etc]# vim named.conf 15 listen-on port 53 { any; };27 allow-query { any; };
[root@mail etc]# vim named.rfc1912.zones
增加以下幾行:
20 zone "sh.com" IN {
21 type master;
22 file "sh.com.db";
23 allow-update { none; };
24 }; [root@mail etc]# cd ../var/named/ [root@mail named]# ll[root@mail named]# cp -p localhost.zone sh.com.db
[root@mail named]# vim sh.com.db 2 @ IN SOA ns.sh.com. root (Starting named: [ OK ]
客戶端測試dns解析:
⑧ :在sh.com進行系統配置,並安裝接收伺服器:[root@mail named]# vim /etc/resolv.conf
1 nameserver 10.106.6.253[root@mail named]# vim /etc/sysconfig/network
3 HOSTNAME=mail.sh.com [root@mail named]# vim /etc/hosts127.0.0.1 mail.sh.com localhost.localdomain localh ost
[root@mail named]#init 6 安裝接受伺服器: [root@mail ~]# yum install -y dovecot [root@mail ~]# chkconfig dovecot on [root@mail ~]# service dovecot startStarting Dovecot Imap: [ OK ] [root@mail ~]# netstat -tupln |grep dovecot
(110,143,993(imaps),995(pop3s))
⑨ :sh.com的客戶端測試,user3給user4發信息:[root@mail ~]# cd /var/named/chroot/etc/
[root@mail etc]# vim named.conf
28 forwarders { 10.106.6.253; };[root@mail etc]# rndc reload
server reload successful
[root@mail etc]# vim named.rfc1912.zones
55 zone "6.106.10.in-addr.arpa" IN {
56 type master;
57
58 allow-update { none; };
59 };[root@mail etc]# cd ../var/named/
[root@mail named]# ll
[root@mail named]# cp -p named.local 10.106.6.db
[root@mail named]# vim 10.106.6.db
254 IN PTR mail.bj.com.
153 IN PTR mail.sh.com.
[root@mail named]# rndc reload
server reload successful
在mail.sh.com上做dns轉發和反向解析:[root@mail ~]# cd /var/named/chroot/etc/
[root@mail etc]# vim named.conf
28 forwarders { 10.106.6.254; };[root@mail etc]# rndc reload
server reload successful
[root@mail etc]# vim named.rfc1912.zones
55 zone "6.106.10.in-addr.arpa" IN {
56 type master;
57 file "10.106.6.db";
58 allow-update { none; };
59 };[root@mail etc]# cd ../var/named/
[root@mail named]# ll
[root@mail named]# cp -p named.local 10.106.6.db
[root@mail named]# vim 10.106.6.db
254 IN PTR mail.bj.com.
153 IN PTR mail.sh.com.
[root@mail named]# rndc reload
server reload successful
⑪ :測試通信情況
mail.bj.com的日誌信息:
[root@mail ~]# tail -f /var/log/maillogMar 23 15:46:07 mail dovecot: pop3-login: Aborted login: user=<user2@bj.com>, method=PLAIN, rip=::ffff:10.106.6.190, lip=::ffff:10.106.6.254
Mar 23 15:46:07 mail dovecot: pop3-login: Login: user=<user2>, method=PLAIN, rip=::ffff:10.106.6.190, lip=::ffff:10.106.6.254
Mar 23 15:46:07 mail dovecot: POP3(user2): Disconnected: Logged out top=0/0, retr=0/0, del=0/3, size=5025
Mar 23 15:46:13 mail sendmail[2298]: q2N7kCbh002298: from=<user1@bj.com>, size=1458, class=0, nrcpts=1, msgid=<2012032316322753227112@bj.com>, proto=ESMTP, daemon=MTA, relay=[10.106.6.190]
Mar 23 15:46:16 mail sendmail[2300]: q2N7kCbh002298:
Mar 23 15:48:38 mail sendmail[2307]: q2N7mc6a002307: from=<user3@sh.com>, size=3353, class=0, nrcpts=1, msgid=<001a01cd08cf$bcf83cd0$c8066a0a@hp3aea877158e2>, proto=ESMTP, daemon=MTA, relay=[10.106.6.253]
Mar 23 15:48:38 mail sendmail[2308]: q2N7mc6a002307: to=<user1@bj.com>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=33514, dsn=2.0.0, stat=Sent
Mar 23 15:48:54 mail dovecot: pop3-login: Aborted login: user=<user1@bj.com>, method=PLAIN, rip=::ffff:10.106.6.190, lip=::ffff:10.106.6.254
Mar 23 15:48:54 mail dovecot: pop3-login: Login: user=<user1>, method=PLAIN, rip=::ffff:10.106.6.190, lip=::ffff:10.106.6.254
Mar 23 15:48:54 mail dovecot: POP3(user1): Disconnected: Logged out top=0/0, retr=1/3623, del=0/1, size=3606
Mar 23 15:51:04 mail sendmail[2320]: q2N7p4Pg002320: from=<user1@bj.com>, size=1470, class=0, nrcpts=1, msgid=<2012032316372380506613@bj.com>, proto=ESMTP, daemon=MTA, relay=[10.106.6.190]
Mar 23 15:51:04 mail sendmail[2322]: q2N7p4Pg002320: to=<user3@sh.com>, ctladdr=<user1@bj.com> (500/500), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=121470, relay=mail.sh.com. [10.106.6.253], dsn=2.0.0, stat=Sent (q2N8aucK003603 Message accepted for delivery)
Mar 23 15:52:25 mail sendmail[2325]: q2N7qPlW002325: from=<user3@sh.com>, size=3514, class=0, nrcpts=1, msgid=<002401cd08d0$4378c360$c8066a0a@hp3aea877158e2>, proto=ESMTP, daemon=MTA, relay=[10.106.6.253]
Mar 23 15:52:25 mail sendmail[2326]: q2N7qPlW002325: to=<user1@bj.com>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=33675, dsn=2.0.0, stat=Sent
Mar 23 15:52:34 mail dovecot: pop3-login: Aborted login: user=<user1@bj.com>, method=PLAIN, rip=::ffff:10.106.6.190, lip=::ffff:10.106.6.254
Mar 23 15:52:34 mail dovecot: pop3-login: Login: user=<user1>, method=PLAIN, rip=::ffff:10.106.6.190, lip=::ffff:10.106.6.254
Mar 23 15:52:34 mail dovecot: POP3(user1): Disconnected: Logged out top=0/0, retr=1/3786, del=0/2, size=7375
mail.sh.com
Mar 23 16:24:06 mail dovecot: pop3-login: Login: user=<user3>, method=PLAIN, rip=::ffff:10.106.6.200, lip=::ffff:10.106.6.253
Mar 23 16:24:06 mail dovecot: POP3(user3): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0
Mar 23 16:24:07 mail dovecot: pop3-login: Login: user=<user4>, method=PLAIN, rip=::ffff:10.106.6.200, lip=::ffff:10.106.6.253
Mar 23 16:24:07 mail dovecot: POP3(user4): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0
Mar 23 16:32:07 mail sendmail[3583]: q2N8W6jM003583: from=<user1@bj.com>, size=1617, class=0, nrcpts=1, msgid=<2012032316322753227112@bj.com>, proto=ESMTP, daemon=MTA, relay=mail.bj.com [10.106.6.254]
Mar 23 16:32:08 mail sendmail[3584]: q2N8W6jM003583: to=<user3@sh.com>, delay=00:00:01, xdelay=00:00:01, mailer=local, pri=31791, dsn=2.0.0, stat=Sent
Mar 23 16:32:51 mail dovecot: pop3-login: Login: user=<user3>, method=PLAIN, rip=::ffff:10.106.6.200, lip=::ffff:10.106.6.253
Mar 23 16:32:51 mail dovecot: POP3(user3): Disconnected: Logged out top=0/0, retr=1/1898, del=1/1, size=1881
Mar 23 16:34:29 mail sendmail[3595]: q2N8YTvQ003595: from=<user3@sh.com>, size=3193, class=0, nrcpts=1, msgid=<001a01cd08cf$bcf83cd0$c8066a0a@hp3aea877158e2>, proto=SMTP, daemon=MTA, relay=[10.106.6.200]
Mar 23 16:34:29 mail sendmail[3597]: q2N8YTvQ003595: to=<user1@bj.com>, ctladdr=<user3@sh.com> (500/500), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=123193, relay=mail.bj.com. [10.106.6.254], dsn=2.0.0, stat=Sent (q2N7mc6a002307 Message accepted for delivery)
Mar 23 16:36:56 mail sendmail[3603]: q2N8aucK003603: from=<user1@bj.com>, size=1629, class=0, nrcpts=1, msgid=<2012032316372380506613@bj.com>, proto=ESMTP, daemon=MTA, relay=mail.bj.com [10.106.6.254]
Mar 23 16:36:56 mail sendmail[3604]: q2N8aucK003603: to=<user3@sh.com>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31803, dsn=2.0.0, stat=Sent
Mar 23 16:37:04 mail dovecot: pop3-login: Login: user=<user3>, method=PLAIN, rip=::ffff:10.106.6.200, lip=::ffff:10.106.6.253
Mar 23 16:37:04 mail dovecot: POP3(user3): Disconnected: Logged out top=0/0, retr=1/1909, del=1/1, size=1892
Mar 23 16:38:16 mail sendmail[3611]: q2N8cGVM003611: from=<user3@sh.com>, size=3354, class=0, nrcpts=1, msgid=<002401cd08d0$4378c360$c8066a0a@hp3aea877158e2>, proto=SMTP, daemon=MTA, relay=[10.106.6.200]
Mar 23 16:38:16 mail sendmail[3613]: q2N8cGVM003611: to=<user1@bj.com>, ctladdr=<user3@sh.com> (500/500), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=123354, relay=mail.bj.com. [10.106.6.254], dsn=2.0.0, stat=Sent (q2N7qPlW002325 Message accepted for delivery)
《完》
--xjzhujunjie
--2012/03/23-19:35
本文出自 「xjzhujunjie」 博客,請務必保留此出處http://xjzhujunjie.blog.51cto.com/3582724/815292
[火星人 ] Linux下mail伺服器應用之sendmail郵件系統的一個案例已經有571次圍觀