Linux系統(tǒng)下如何配置e-mail服務(wù)器? |
發(fā)布時(shí)間: 2012/8/13 11:45:19 |
隨著互聯(lián)網(wǎng)的發(fā)展,e-mail迅速成長(zhǎng)成為主要的網(wǎng)絡(luò)信息傳遞工具。面對(duì)大量要求能夠快速,廉價(jià),和高可信賴的e-mail需求,很多公司和個(gè)人都把linux提供的服務(wù)作為滿足這些需求的解決方案。
redhat7.1默認(rèn)安裝的時(shí)間已經(jīng)安裝了SendMail8.11服務(wù).因?yàn)閞edhat安裝使用都非常的簡(jiǎn)單,我們這里就忽略安裝過(guò)程,相關(guān)資料請(qǐng)查閱redhatCD里的文檔.要使你的新e-mail服務(wù)器正常工作,必須先解決DNS問(wèn)題.把你的e-mail服務(wù)器的主機(jī)名和ip地址加入到DNS中,并用nslookup來(lái)確認(rèn): [root@testmail/root]#nslookup-siltestmail.blank.com Server:192.168.100.1 Address:192.168.100.1#53 Name:testmail.blank.com Address:192.168.100.134 同樣你也要試一下反向域名解析,這個(gè)對(duì)防止郵件延遲有很重要的作用.現(xiàn)在大部分的郵件服務(wù)器都是把反向域名解析作為郵件傳送時(shí)認(rèn)證的一部分.所以用的你ip地址來(lái)試一下反向域名解析是否正確. [root@testmail/root]#nslookup-sil192.168.100.134 Server:192.168.100.1 Address:192.168.100.1#53 134.100.168.192.in-addr.arpaname=TESTMAIL.blank.com. 正如你所看到的,DNS服務(wù)工作正常,接下去就讓我們動(dòng)手來(lái)配置SendMail服務(wù).redhat7.1默認(rèn)安裝已經(jīng)可以使SMTP服務(wù)在本機(jī)運(yùn)行.你用netstat-nl可以看到所有后臺(tái)程序監(jiān)聽(tīng)的端口,注意這一行:127.0.0.1:25,這個(gè)表示SendMail服務(wù)已經(jīng)在監(jiān)聽(tīng)本機(jī)的25(SMTP)端口了: [root@testmail/root]#netstat-nl ActiveInternetconnections(onlyservers) ProtoRecv-QSend-QLocalAddressForeignAddressState tcp000.0.0.0:327680.0.0.0:*LISTEN tcp000.0.0.0:1110.0.0.0:*LISTEN tcp000.0.0.0:220.0.0.0:*LISTEN tcp00127.0.0.1:250.0.0.0:*LISTEN udp000.0.0.0:327680.0.0.0:* udp000.0.0.0:6670.0.0.0:* udp000.0.0.0:1110.0.0.0:* ActiveUNIXdomainsockets(onlyservers) ProtoRefCntFlagsTypeStateI-NodePath unix2[ACC]STREAMLISTENING1119/dev/gpmctl unix2[ACC]STREAMLISTENING1172/tmp/.font-unix/fs7100 但這個(gè)僅僅表示e-mail服務(wù)器只接收你本機(jī)的郵件.為了解決這個(gè)問(wèn)題,你必須修改配置,告訴SendMail去監(jiān)聽(tīng)你對(duì)外的網(wǎng)卡地址.假設(shè)你的服務(wù)器上只安裝了一塊網(wǎng)卡(eth0),并用ifconfig配置好你的ip地址.這個(gè)地址可以和DNS解析的地址不一樣,但你要保證DNS可以正確地解析郵件服務(wù)器的地址.這里我們使用的地址是一樣的(推薦): [root@testmail/root]#ifconfig eth0Linkencap:EthernetHWaddr00:60:97:DE:E9:99 inetaddr:192.168.100.134Bcast:192.168.100.255Mask:255.255.255.0 UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1 RXpackets:12421errors:0dropped:0overruns:0frame:0 TXpackets:5errors:0dropped:0overruns:0carrier:0 collisions:0txqueuelen:100 Interrupt:10Baseaddress:0xe000 loLinkencap:LocalLoopback inetaddr:127.0.0.1Mask:255.0.0.0 UPLOOPBACKRUNNINGMTU:16436Metric:1 RXpackets:6errors:0dropped:0overruns:0frame:0 TXpackets:6errors:0dropped:0overruns:0carrier:0 collisions:0txqueuelen:0
可以看到這臺(tái)主機(jī)的eth0的ip地址是192.168.100.134.現(xiàn)在修改/etc/SendMail.cf文件來(lái)配置SendMail的監(jiān)聽(tīng)端口: #SMTPdaemonoptions ODaemonPortOptions=Port=smtp,Addr=127.0.0.1,Name=MTA 更改為 ODaemonPortOptions=Port=smtp,Addr=192.168.100.134,Name=MTA 改完后保存退出,并且重新啟動(dòng)SendMail服務(wù): [root@testmail/root]#/etc/init.d/SendMailrestart ShuttingdownSendMail:[OK] StartingSendMail:[OK] [root@testmail/root]# 現(xiàn)在可以用netstat-nl來(lái)查看是不是已經(jīng)更改了. [root@testmail/root]#netstat-nl ActiveInternetconnections(onlyservers) ProtoRecv-Qsend-QLocalAddressForeignAddressState tcp000.0.0.0:327680.0.0.0:*LISTEN tcp000.0.0.0:1110.0.0.0:*LISTEN tcp000.0.0.0:220.0.0.0:*LISTEN tcp00192.168.100.134:250.0.0.0:*LISTEN udp000.0.0.0:327680.0.0.0:* udp000.0.0.0:6670.0.0.0:* udp000.0.0.0:1110.0.0.0:* ActiveUNIXdomainsockets(onlyservers) ProtoRefCntFlagsTypeStateI-NodePath unix2[ACC]STREAMLISTENING1119/dev/gpmctl unix2[ACC]STREAMLISTENING1172/tmp/.font-unix/fs7100 [root@testmail/root]# 如你所看到的,SendMail的監(jiān)聽(tīng)端口現(xiàn)在是eth0的ip地址:192.168.100.134了. 現(xiàn)在SendMail已經(jīng)可以接收來(lái)自外部的連接了.我們還需要設(shè)定SendMail允許接收的域名.這個(gè)可以在/etc/mail/local-host-names文件中設(shè)定.就把域名輸入進(jìn)去就可以了: #local-host-names-includeallaliasesforyourmachinehere.blank.com保存退出后重新啟動(dòng)SendMail服務(wù):/etc/init.d/SendMailrestart.這樣SendMail就可以接收來(lái)自多個(gè)域的信件了.如果你需要再增加新的域,只有修改這個(gè)文件就可以了. 現(xiàn)在的e-mail服務(wù)器在本機(jī)上已經(jīng)可以完全正常的工作.它已經(jīng)可以接收來(lái)自任何地方的信件(允許的域),但如果想要發(fā)送和傳遞郵件,則必須在這臺(tái)電腦上執(zhí)行.如果你的用戶都直接登錄到你的服務(wù)器上來(lái)發(fā)送郵件,則不需要更改任何配置,如果你希望大部分或者所有的用戶可以在遠(yuǎn)程主機(jī)上使用該e-mail服務(wù)器,例如利用KMail和OutlookExpress等客戶端工具,則你必須更改配置來(lái)允許這些主機(jī)使用你的e-mail服務(wù)器.你需要在/etc/mail/access文件中加入下面一行,保存后運(yùn)行makeaccess.db的命令來(lái)生成access.db文件. blank.comRELAY 改完后的access文件應(yīng)該是這樣的: #Checkthe/usr/share/doc/SendMail-8.11.2/README.cffilefora description #oftheformatofthisfile.(searchforaccess_dbinthatfile) #The/usr/share/doc/SendMail-8.11.2/README.cfispartofthe SendMail-doc #package. # #bydefaultweallowrelayingfromlocalhost... localhost.localdomainRELAY localhostRELAY 127.0.0.1RELAY blank.comRELAY 然后運(yùn)行:
[root@testmailmail]#
現(xiàn)在你可以收到所有來(lái)自外部的郵件.并且允許信賴的客戶在遠(yuǎn)程傳遞信件.接下去你想要做的可能是如何在遠(yuǎn)程收取這些信件.要達(dá)到這個(gè)目的,你需要安裝IMAP或者POP.redhat7.1默認(rèn)安裝的時(shí)候并沒(méi)有安裝POP/IMAP,所以你需要安裝imap-2000-9rpm包.要查看這個(gè)包的安裝狀態(tài),可以用下面的命令:rpm-aq grep-iimap.如果發(fā)現(xiàn)沒(méi)有安裝,那就把redhat7.1第二張安裝光盤放到光驅(qū)里.然后運(yùn)行如下命令: [root@testmailmail]#mount/dev/cdrom/mnt/cdrom mount:blockdevice/dev/cdromiswrite-protected,mountingread-only (SuccessfulMountofRead-OnlyMedia) mount上光盤后運(yùn)行這個(gè)命令來(lái)安裝這個(gè)包:rpm-Uvh/mnt/cdrom/RedHat/RPMS/imap-2000-9.i386.rpm. [root@testmailmail]#rpm-Uvh/mnt/cdrom/RedHat/RPMS/imap-2000-9.i386.rpm Preparing...###########################################[100%] 1:imap###########################################[100%] 再運(yùn)行一次rpm-aq grep-iimap
imap-2000-9 [root@testmailmail]# 當(dāng)正確的包被安裝后你要打開(kāi)POP3的連接端口,這需要修改/etc/xinetd.d/下面的ipop3文件,把disable的值改成no。這個(gè)文件大致是這樣的: #default:off #description:ThePOP3serviceallowsremoteuserstoaccesstheirmail #usinganPOP3clientsuchasNetscapeCommunicator,mutt, #orfetchmail. servicepop3 { socket_type=stream wait=no user=root server=/usr/sbin/ipop3d log_on_success+=USERID log_on_failure+=USERID disable=no } 接下去重新啟動(dòng)xinetd來(lái)是它生效: [root@testmailxinetd.d]#/etc/init.d/xinetdrestart Stoppingxinetd:[OK] Startingxinetd:[OK] [root@testmailxinetd.d]# 現(xiàn)在就可以發(fā)送一封測(cè)試郵件到你的e-mail服務(wù)器,并且用你熟悉的收信工具來(lái)收取這封信。應(yīng)該是沒(méi)有問(wèn)題的。 下面優(yōu)化一下服務(wù)器的性能;蛟S你會(huì)收到這樣的抱怨,說(shuō)是當(dāng)客戶端程序運(yùn)行在防火墻后面的話會(huì)發(fā)生連接pop端口速度變慢。 造成這個(gè)延時(shí)的原因是你的e-mail服務(wù)器初始一個(gè)IDENT會(huì)話來(lái)確認(rèn)客戶端的身份。如果這個(gè)詢問(wèn)沒(méi)有反應(yīng),那服務(wù)器就會(huì)在5秒后發(fā)出一個(gè)超時(shí)信號(hào)。這個(gè)值可以降低到1秒,從而減少IDENT產(chǎn)生影響。修改/etc/SendMail.cf文件,把timeout的值改成你想要的值。 #timeouts(manyofthese) #OTimeout.ident=5s changeto OTimeout.ident=1s 現(xiàn)在你的e-mail服務(wù)器可以給你的用戶提供服務(wù)了。Linux將會(huì)為你的e-mail服務(wù)提供一個(gè)穩(wěn)定的,高效的平臺(tái)。如果想了解更多的關(guān)于SendMail的知識(shí) 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |