mx mail.mihost.kmip.net (郵件服務器是mx記錄) 發(fā)信服務器 (smtp) 收信服務器 (pop/imap) User smtp> MailServer <======> MailServer pop3/imap> User <pop3/imap <smtp MTA(Mail Transfer Agent),郵件傳輸代理,如sendmail,qmail MUA(Mail User Agent),郵件用戶代理, 如outlook,foxmail SendMail服務器的安裝 下載sendmail- 準備編譯環(huán)境 #rpm -e --nodeps sendmail #rpm -e --nodeps postfix 安裝認證庫: cyrus-sasl、cryus-sasl-plain、cyrus-sasl-devel (cyrus-sasl-gssapi、cyrus-sasl-md5可要可不要) #rpm -qa |grep sasl cyrus-sasl- cyrus-sasl-plain- cyrus-sasl-devel- cyrus-sasl-md5- 原代碼安裝配置sendmail ******************************************* 先確認網(wǎng)絡環(huán)境: ifconfig eth0 ./host -t MX mihost.kmip.net mihost.kmip.net mail is handled by 0 mail.mihost.kmip.net. ./host -t MX benet.com 編譯安裝過程 解壓縮原代碼 tar zxvf sendmail. 手動生成m4文件,內(nèi)容如下: cd sendmail- vi devtools/Site/site.config.m4 APPENDDEF(`confENVDEF‘,`-DSASL=2‘) APPENDDEF(`conf_sendmail_LIBS‘,`-lsasl2‘) 編譯 sh Build –c #可能編譯時會出錯?。?o:p> sh Build install 確保m4安裝了 rpm -q m4 m4- 建立sendmail目錄 mkdir /usr/share/sendmail cp -a cf /usr/share/sendmail 生成sendmail.mc文件 cd cf/cf cp generic-linux.mc sendmail.mc more sendmail.mc 建立sendmail工作目錄 mkdir /etc/mail 安裝 make install-cf cp sendmail.mc /etc/mail/ 生成配置文件 cd /etc/mail touch aliases access echo "mihost.kmip.net" >local-host-names echo "mail.mihost.kmip.net">>local-host-names cat local-host-names 生成access.db、aliases.db makemap hash access < access makemap hash aliases < aliases 啟動sendmail mkdir /var/spool/mqueue /usr/sbin/sendmail -bd -q1h #后臺執(zhí)行,且每小時處理一次郵件隊列 ps -aux | grep sendmail 測試發(fā)信 確認25端口開啟了 netstat -tnl | grep :25 tcp 0 0 增加賬號redhat作為root的別名 useradd redhat passwd redhat echo "root:redhat" >>/etc/mail/aliases newaliases #讓aliases生效 連接服務器測試發(fā)信 [root@RHL9 root]# telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is ‘^]‘. 220 localhost.localdomain ESMTP Sendmail mail from: root@mihost.kmip.net 250 rcpt to: redhat@mihost.kmip.net 250 data 354 Enter mail, end with "." on a line by itself hello,mail from smtp command. . 250 quit 221 Connection closed by foreign host. [root@RHL9 root]# tail /var/log/maillog Mar 8 02:37:57 RHL9 sendmail[6279]: l27IZkc9006279: from=root@mihost.kmip.net, size=30, class=0, nrcpts=1, msgid=<200703071836.l27IZkc9006279@localhost.localdomain>, proto=SMTP, daemon=MTA, relay=RHL9 [127.0.0.1] Mar 8 02:37:57 RHL9 sendmail[6660]: l27IZkc9006279: to=redhat@mihost.kmip.net, ctladdr=root@mihost.kmip.net (0/0), delay=00:00:58, xdelay=00:00:00, mailer=local, pri=30443, dsn= [root@RHL9 root]# cat /var/mail/redhat From root@mihost.kmip.net Thu Mar 8 02:37:57 2007 Return-Path: <root@mihost.kmip.net> Received: from RHL9 (RHL9 [127.0.0.1]) by localhost.localdomain ( for redhat@mihost.kmip.net; Thu, 8 Mar 2007 02:36:59 +0800 Date: Thu, 8 Mar 2007 02:35:46 +0800 From: root <root@mihost.kmip.net> Message-Id: <200703071836.l27IZkc9006279@localhost.localdomain> X-Authentication-Warning: localhost.localdomain: RHL9 [127.0.0.1] didn‘t use HELO protocol hello,mail from smtp command. 用outlook測試發(fā)信 然后切換到redhat用mail來收信 [root@RHL9 root]# su - redhat [redhat@RHL9 redhat]$ mail Mail version 8.1 "/var/spool/mail/redhat": 2 messages 2 new >N 1 root@mihost.kmip.net Thu Mar 8 02:37 12/487 N 2 redhat@mihost.kmip.net Thu Mar 8 02:54 42/1545 "Hello,Test from outlo" & 2 配置收信服務器 安裝 rpm -ivh /mnt/cdrom/RedHat/RPMS/imap* (在2#光盤上) 開始服務 chkconfig ipop3 on chkconfig imap on ls /etc/xinetd.d chargen daytime-udp imap ntalk rsh sgi_fam time-udp chargen-udp echo imaps pop3s rsync talk cups-lpd echo-udp ipop2 rexec servers telnet daytime finger ipop3 rlogin services time service xinetd restart 停止 xinetd:[ 確定 ] 啟動 xinetd:[ 確定 ] grep imap /etc/services imap 143/tcp imap2 # Interim Mail Access Proto v2 imap 143/udp imap2 grep pop3 /etc/services pop3 110/tcp pop-3 # POP version 3 pop3 110/udp pop-3 netstat -tnl |grep :143 tcp 0 0 netstat -tnl |grep :110 tcp 0 0 再用outlook測試收發(fā)信(pop3、imap) 郵件轉(zhuǎn)發(fā)的配置: #cd /etc/mail #vi sendmail.mc 添加如下內(nèi)容:紅色內(nèi)容 divert(0)dnl include(`/usr/share/sendmail/cf/m4/cf.m4‘)dnl VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $‘) FEATURE(`access_db‘)dnl OSTYPE(linux)dnl DOMAIN(generic)dnl MAILER(local)dnl MAILER(smtp)dnl 注意:` ‘ 區(qū)別! #echo “192.168.1 RELAY” >>access #makemap hash access < access #killall sendmail # /usr/sbin/sendmail -bd -q1h 一小時清理郵件隊列! 以上案例在局域網(wǎng)測試成功(外部郵件都能發(fā))。以上用的域名是動態(tài)域名。在路由器設置ip轉(zhuǎn)發(fā)功能。
|
|
來自: ALinux > 《系統(tǒng)管理》