RedHatLinux AS3中配置sendmail服務(wù)器
本站整理 發(fā)布時間:2009-03-10 11:22:22 作者:jb51.net
我要評論

這篇文章主要是示范如何在一臺新裝的RedHatLinux AS3上用配置sendmail-8.12.10-1服務(wù),構(gòu)架你的e-mail服務(wù)器.
1.sendmail的安裝
若用戶在RedHatLinux AS3默認(rèn)安裝時已經(jīng)安裝了sendmail 8.12服務(wù).可忽略安裝過程,相關(guān)資料請查閱redhat CD里的文檔.
若沒有安裝,安裝sendmail
這篇文章主要是示范如何在一臺新裝的RedHatLinux AS3上用配置sendmail-8.12.10-1服務(wù),構(gòu)架你的e-mail服務(wù)器.
1.sendmail的安裝
若用戶在RedHatLinux AS3默認(rèn)安裝時已經(jīng)安裝了sendmail 8.12服務(wù).可忽略安裝過程,相關(guān)資料請查閱redhat CD里的文檔.
若沒有安裝,安裝sendmail服務(wù),操作如下:
//查看是否安裝了sendmail
#rpm –qa|grep sendmail
//將RedHatLinux AS3的第一張安裝光盤放入光驅(qū)后掛載
#cd /mnt/cdrom
//進(jìn)入光盤的RedHat/RPMS目錄
#cd/mnt/cdrom/RedHat/RPMS
//安裝所需的軟件包
#rpm –ivh sendmail-8.12.10-1.i386.rpm
//將RedHat Linux9的第3張安裝光盤放入光驅(qū)后掛載
#cd /mnt/cdrom
//進(jìn)入光盤的RedHat/RPMS目錄
#cd/mnt/cdrom/RedHat/RPMS
//安裝所需的軟件包
#rpm –ivh sendmail-cf-8.12.10-1.i386.rpm
#rpm –ivh sendmail-doc-8.12.10-1.i386.rpm
//彈出光盤
#cd;eject
2.檢驗(yàn)DNS SERVER的正反向解析是否成功
要使你的新e-mail服務(wù)器正常工作,必須先解決DNS問題.把你的e-mail服務(wù)器的主機(jī)名和ip地址加入到DNS中,并用nslookup來確認(rèn):
[root@AS3 / ]# nslookup -sil mail.supermaster.com
Server: 192.168.0.111
Address: 192.168.0.111#53
Name: www.supermaster.com
Address: 192.168.0.111
同樣你也要試一下反向域名解析,這個對防止郵件延遲有很重要的作用.現(xiàn)在大部分的郵件服務(wù)器都是把反向域名解析作為郵件傳送時
認(rèn)證的一部分.所以用的你ip地址來試一下反向域名解析是否正確.
[root@AS3 / ]# nslookup -sil 192.168.0.111
Server: 192.168.0.111
Address: 192.168.0.111#53
111.0.168.192.in-addr.arpa name = www.supermaster.com.
111.0.168.192.in-addr.arpa name = mail.supermaster.com.
111.0.168.192.in-addr.arpa name = ftp.supermaster.com.
111.0.168.192.in-addr.arpa name = ssL.supermaster.com.
3.配置sendmail服務(wù)
>>1.監(jiān)聽本機(jī)的smtp端口
RedHatLinux AS3 默認(rèn)安裝已經(jīng)可以使SMTP服務(wù)在本機(jī)運(yùn)行.
你用netstat -nl可以看到所有后臺程序監(jiān)聽的端口,注意這一行:127.0.0.1:25,這個表示sendmail服務(wù)已經(jīng)在監(jiān)聽本機(jī)的25(SMTP)
端口了:
[root@AS3 / ]# netstat -nl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:32769 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:32770 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:931 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN #p#分頁標(biāo)題#e#
tcp 0 0 0.0.0.0:913 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.111:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:32768 0.0.0.0:*
udp 0 0 0.0.0.0:2049 0.0.0.0:*
udp 0 0 0.0.0.0:32769 0.0.0.0:*
udp 0 0 0.0.0.0:32770 0.0.0.0:*
udp 0 0 192.168.0.111:137 0.0.0.0:*
udp 0 0 0.0.0.0:137 0.0.0.0:*
udp 0 0 192.168.0.111:138 0.0.0.0:*
udp 0 0 0.0.0.0:138 0.0.0.0:* #p#分頁標(biāo)題#e#
udp 0 0 0.0.0.0:910 0.0.0.0:*
udp 0 0 0.0.0.0:928 0.0.0.0:*
udp 0 0 192.168.0.111:53 0.0.0.0:*
udp 0 0 127.0.0.1:53 0.0.0.0:*
udp 0 0 0.0.0.0:710 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 2456 /dev/gpmctl
unix 2 [ ACC ] STREAM LISTENING 2634 /tmp/.gdm_socket
unix 2 [ ACC ] STREAM LISTENING 2496 /tmp/.font-unix/fs7100
unix 2 [ ACC ] STREAM LISTENING 2644 /tmp/.X11-unix/X0
但這個僅僅表示e-mail服務(wù)器只接收你本機(jī)的郵件.為了解決這個問題,你必須修改配置,告訴sendmail去監(jiān)聽你對外的網(wǎng)卡地址.
>>2.解決對外smtp端口的監(jiān)聽
假設(shè)你的服務(wù)器上安裝了一塊網(wǎng)卡(eth0),并用ifconfig配置好你的ip地址.這個地址可以和DNS解析的地址不一樣,但你要保證DNS可以正確
地解析郵件服務(wù)器的地址.這里我們使用的地址是一樣的(推薦):
[root@AS3 / ]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:65:C8:DC
inet addr:192.168.0.111 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:661 errors:0 dropped:0 overruns:0 frame:0
TX packets:399 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:68152 (66.5 Kb) TX bytes:50136 (48.9 Kb)
Interrupt:10 Base address:0x1400
可以看到這臺主機(jī)的eth0的ip地址是192.168.0.111.現(xiàn)在修改/etc/mail/sendmail.cf文件來配置sendmail的監(jiān)聽端口:
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
更改為
O DaemonPortOptions=Port=smtp,Addr=192.168.0.111, Name=MTA
改完后保存退出,并且重新啟動sendmail服務(wù):
[root@AS3 / ]# service sendmail restart
Shutting down sendmail: [ OK ]#p#分頁標(biāo)題#e#
Shutting down sm-client: [ OK ]
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
[root@mail /root]#
現(xiàn)在可以用netstat -nl來查看是不是已經(jīng)更改了.如你所看到的,sendmail的監(jiān)聽端口現(xiàn)在是eth0的ip地址:192.168.0.111了.
[root@AS3 / ]# netstat -nl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:32769 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:32770 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:931 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:913 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.111:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN #p#分頁標(biāo)題#e#
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.111:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:32768 0.0.0.0:*
udp 0 0 0.0.0.0:2049 0.0.0.0:*
udp 0 0 0.0.0.0:32769 0.0.0.0:*
udp 0 0 0.0.0.0:32770 0.0.0.0:*
udp 0 0 192.168.0.111:137 0.0.0.0:*
udp 0 0 0.0.0.0:137 0.0.0.0:*
udp 0 0 192.168.0.111:138 0.0.0.0:*
udp 0 0 0.0.0.0:138 0.0.0.0:*
udp 0 0 0.0.0.0:910 0.0.0.0:*
udp 0 0 0.0.0.0:928 0.0.0.0:*
udp 0 0 192.168.0.111:53 0.0.0.0:*
udp 0 0 127.0.0.1:53 0.0.0.0:*
udp 0 0 0.0.0.0:710 0.0.0.0:* #p#分頁標(biāo)題#e#
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 2456 /dev/gpmctl
unix 2 [ ACC ] STREAM LISTENING 2634 /tmp/.gdm_socket
unix 2 [ ACC ] STREAM LISTENING 2496 /tmp/.font-unix/fs7100
unix 2 [ ACC ] STREAM LISTENING 2644 /tmp/.X11-unix/X0
>>3.設(shè)置允許接受的域名
現(xiàn)在sendmail已經(jīng)可以接收來自外部的連接了.我們還需要設(shè)定sendmail允許接收的域名.這個可以在/etc/mail/local-host-names
文件中設(shè)定.就把域名輸入進(jìn)去就可以了:
# local-host-names - include all aliases for your machine here.
supermaster.com //add
保存退出后重新啟動sendmail服務(wù):/etc/init.d/sendmail restart .這樣sendmail就可以接收來自多個域的信件了. 如果你需要再增加新的域,只有修改這個文件就可以了.
>>4.client 端的設(shè)置
現(xiàn)在的e-mail服務(wù)器在本機(jī)上已經(jīng)可以完全正常的工作.它已經(jīng)可以接收來自任何地方的信件(允許的域),但如果想要發(fā)送和傳遞郵 件,則必須在這臺電腦上執(zhí)行.如果你的用戶都直接登錄到你的服務(wù)器上來發(fā)送郵件,則不需要更改任何配置,如果你希望大部分或者所有的用戶可以在遠(yuǎn)程主機(jī)上使用該e-mail服務(wù)器,例如利用KMail和Outlook Express及Mozilla Mail等客戶端工具,則你必須更改配置來允許這些主機(jī)使
用你的e-mail服務(wù)器.你需要在/etc/mail/access文件中加入下面一行,保存后運(yùn)行make access.db 的命令來生成access.db文件.
supermaster.com RELAY
改完后的access文件應(yīng)該是這樣的:
# Check the /usr/share/doc/sendmail/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
# package.
#
# by default we allow relaying from localhost...
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
supermaster.com RELAY //add
然后運(yùn)行:
[root@AS3 mail ]# make access.db
[root@AS3 mail ]#
這個make access.db命令把你的新的設(shè)定添加到sendmail的hash數(shù)據(jù)庫里.sendmail用它來判斷允許那些主機(jī)通過你的e-mail服務(wù)器來傳遞郵件.而且這樣還可以通過設(shè)定子網(wǎng)(例如:192.168)來限制該域.但你要注意,這樣設(shè)定就對外開放了,可能會有人發(fā)大量的垃圾 信件來攻擊你的系統(tǒng).
現(xiàn)在你可以收到所有來自外部的郵件.并且允許信賴的客戶在遠(yuǎn)程傳遞信件.接下去你想要做的可能是如何在遠(yuǎn)程收取這些信件.要達(dá)到 這個目的,你需要安裝IMAP 或者 POP. RedHatLinux AS3默認(rèn)安裝的時候并沒有安裝POP/IMAP,所以你需要安裝imap-2002d-2包.
要查看這個包的安裝狀態(tài),可以用下面的命令:rpm -aq | grep -i imap.如果發(fā)現(xiàn)沒有安裝,那就把RedHatLinux AS3第二張安裝光盤
放到光驅(qū)里.然后運(yùn)行如下命令:
[root@AS3 mail ]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
(Successful Mount of Read-Only Media)
mount上光盤后運(yùn)行這個命令來安裝這個包:rpm -Uvh /mnt/cdrom/RedHat/RPMS/ imap-2002d-2.i386.rpm.
[root@AS3 mail ]# rpm -Uvh /mnt/cdrom/RedHat/RPMS/ imap-2002d-2.i386.rpm
Preparing... ########################################### [100%]
1:imap ########################################### [100%]
再運(yùn)行一次 rpm -aq | grep -i imap
IMAP 包就羅列出來了.
[root@AS3 mail ]# rpm -aq | grep -i imap
imap-2002d-2
[root@AS3 mail ]#
>>5.ipop3的設(shè)置
當(dāng)正確的包被安裝后你要打開POP3的連接端口,這需要修改/etc/xinetd.d/下面的ipop3文件,把disable的值改成yes.這個文件
大致是這樣的:
# default: off
# description: The POP3 service allows remote users to access their mail \
# using an POP3 client such as Netscape Communicator, mutt, \#p#分頁標(biāo)題#e#
# or fetchmail.
service pop3
{
disable = no //change
socket_type = stream
wait = no
user = root
server = /usr/sbin/ipop3d
log_on_success += HOST DURATION
log_on_failure += HOST
}
接下去重新啟動xinetd來是它生效:
[root@AS3 xinetd.d]# service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
[root@AS3 xinetd.d]#
建議將ipop3 設(shè)置成自動啟動,操作如下:
#redhat-config-services或setup或ntsysv
OK,至此sendmail的配置完成,發(fā)送一封測試郵件到你的e-mail服務(wù)器,并且用你熟悉的收信工具來收取這封信.
4.sendmail的性能優(yōu)化
或許你會收到這樣的抱怨,說是當(dāng)客戶端程序運(yùn)行在防火墻后面的話會發(fā)生連接pop端口速度變慢.
造成這個延時的原因是你的e-mail服務(wù)器初始一個IDENT會話來確認(rèn)客戶端的身份.如果這個詢問沒有反應(yīng),那服務(wù)器就會在5秒后發(fā)出
一個超時信號.這個值可以降低到1秒,從而減少IDENT產(chǎn)生影響.修改/etc/mail/sendmail.cf文件,把timeout的值改成你想要的值.
# timeouts (many of these)
#O Timeout.ident=5s
change to
O Timeout.ident=1s
現(xiàn)在你的e-mail服務(wù)器可以給你的用戶提供服務(wù)了.當(dāng)然還有更多的配置可以用來提高服務(wù)器性能,在這篇文章中就不多提了.
Linux將會為你的e-mail服務(wù)提供一個穩(wěn)定的,高效的平臺.如果想了解更多的關(guān)于sendmail的知識,請訪問www.sendmail.org.
注:筆者建議大家在第一測試sendmail時,把fireware 服務(wù)關(guān)閉。
1.sendmail的安裝
若用戶在RedHatLinux AS3默認(rèn)安裝時已經(jīng)安裝了sendmail 8.12服務(wù).可忽略安裝過程,相關(guān)資料請查閱redhat CD里的文檔.
若沒有安裝,安裝sendmail服務(wù),操作如下:
//查看是否安裝了sendmail
#rpm –qa|grep sendmail
//將RedHatLinux AS3的第一張安裝光盤放入光驅(qū)后掛載
#cd /mnt/cdrom
//進(jìn)入光盤的RedHat/RPMS目錄
#cd/mnt/cdrom/RedHat/RPMS
//安裝所需的軟件包
#rpm –ivh sendmail-8.12.10-1.i386.rpm
//將RedHat Linux9的第3張安裝光盤放入光驅(qū)后掛載
#cd /mnt/cdrom
//進(jìn)入光盤的RedHat/RPMS目錄
#cd/mnt/cdrom/RedHat/RPMS
//安裝所需的軟件包
#rpm –ivh sendmail-cf-8.12.10-1.i386.rpm
#rpm –ivh sendmail-doc-8.12.10-1.i386.rpm
//彈出光盤
#cd;eject
2.檢驗(yàn)DNS SERVER的正反向解析是否成功
要使你的新e-mail服務(wù)器正常工作,必須先解決DNS問題.把你的e-mail服務(wù)器的主機(jī)名和ip地址加入到DNS中,并用nslookup來確認(rèn):
[root@AS3 / ]# nslookup -sil mail.supermaster.com
Server: 192.168.0.111
Address: 192.168.0.111#53
Name: www.supermaster.com
Address: 192.168.0.111
同樣你也要試一下反向域名解析,這個對防止郵件延遲有很重要的作用.現(xiàn)在大部分的郵件服務(wù)器都是把反向域名解析作為郵件傳送時
認(rèn)證的一部分.所以用的你ip地址來試一下反向域名解析是否正確.
[root@AS3 / ]# nslookup -sil 192.168.0.111
Server: 192.168.0.111
Address: 192.168.0.111#53
111.0.168.192.in-addr.arpa name = www.supermaster.com.
111.0.168.192.in-addr.arpa name = mail.supermaster.com.
111.0.168.192.in-addr.arpa name = ftp.supermaster.com.
111.0.168.192.in-addr.arpa name = ssL.supermaster.com.
3.配置sendmail服務(wù)
>>1.監(jiān)聽本機(jī)的smtp端口
RedHatLinux AS3 默認(rèn)安裝已經(jīng)可以使SMTP服務(wù)在本機(jī)運(yùn)行.
你用netstat -nl可以看到所有后臺程序監(jiān)聽的端口,注意這一行:127.0.0.1:25,這個表示sendmail服務(wù)已經(jīng)在監(jiān)聽本機(jī)的25(SMTP)
端口了:
[root@AS3 / ]# netstat -nl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:32769 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:32770 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:931 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN #p#分頁標(biāo)題#e#
tcp 0 0 0.0.0.0:913 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.111:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:32768 0.0.0.0:*
udp 0 0 0.0.0.0:2049 0.0.0.0:*
udp 0 0 0.0.0.0:32769 0.0.0.0:*
udp 0 0 0.0.0.0:32770 0.0.0.0:*
udp 0 0 192.168.0.111:137 0.0.0.0:*
udp 0 0 0.0.0.0:137 0.0.0.0:*
udp 0 0 192.168.0.111:138 0.0.0.0:*
udp 0 0 0.0.0.0:138 0.0.0.0:* #p#分頁標(biāo)題#e#
udp 0 0 0.0.0.0:910 0.0.0.0:*
udp 0 0 0.0.0.0:928 0.0.0.0:*
udp 0 0 192.168.0.111:53 0.0.0.0:*
udp 0 0 127.0.0.1:53 0.0.0.0:*
udp 0 0 0.0.0.0:710 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 2456 /dev/gpmctl
unix 2 [ ACC ] STREAM LISTENING 2634 /tmp/.gdm_socket
unix 2 [ ACC ] STREAM LISTENING 2496 /tmp/.font-unix/fs7100
unix 2 [ ACC ] STREAM LISTENING 2644 /tmp/.X11-unix/X0
但這個僅僅表示e-mail服務(wù)器只接收你本機(jī)的郵件.為了解決這個問題,你必須修改配置,告訴sendmail去監(jiān)聽你對外的網(wǎng)卡地址.
>>2.解決對外smtp端口的監(jiān)聽
假設(shè)你的服務(wù)器上安裝了一塊網(wǎng)卡(eth0),并用ifconfig配置好你的ip地址.這個地址可以和DNS解析的地址不一樣,但你要保證DNS可以正確
地解析郵件服務(wù)器的地址.這里我們使用的地址是一樣的(推薦):
[root@AS3 / ]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:65:C8:DC
inet addr:192.168.0.111 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:661 errors:0 dropped:0 overruns:0 frame:0
TX packets:399 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:68152 (66.5 Kb) TX bytes:50136 (48.9 Kb)
Interrupt:10 Base address:0x1400
可以看到這臺主機(jī)的eth0的ip地址是192.168.0.111.現(xiàn)在修改/etc/mail/sendmail.cf文件來配置sendmail的監(jiān)聽端口:
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
更改為
O DaemonPortOptions=Port=smtp,Addr=192.168.0.111, Name=MTA
改完后保存退出,并且重新啟動sendmail服務(wù):
[root@AS3 / ]# service sendmail restart
Shutting down sendmail: [ OK ]#p#分頁標(biāo)題#e#
Shutting down sm-client: [ OK ]
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
[root@mail /root]#
現(xiàn)在可以用netstat -nl來查看是不是已經(jīng)更改了.如你所看到的,sendmail的監(jiān)聽端口現(xiàn)在是eth0的ip地址:192.168.0.111了.
[root@AS3 / ]# netstat -nl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:32769 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:32770 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:931 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:913 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.111:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN #p#分頁標(biāo)題#e#
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.111:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:32768 0.0.0.0:*
udp 0 0 0.0.0.0:2049 0.0.0.0:*
udp 0 0 0.0.0.0:32769 0.0.0.0:*
udp 0 0 0.0.0.0:32770 0.0.0.0:*
udp 0 0 192.168.0.111:137 0.0.0.0:*
udp 0 0 0.0.0.0:137 0.0.0.0:*
udp 0 0 192.168.0.111:138 0.0.0.0:*
udp 0 0 0.0.0.0:138 0.0.0.0:*
udp 0 0 0.0.0.0:910 0.0.0.0:*
udp 0 0 0.0.0.0:928 0.0.0.0:*
udp 0 0 192.168.0.111:53 0.0.0.0:*
udp 0 0 127.0.0.1:53 0.0.0.0:*
udp 0 0 0.0.0.0:710 0.0.0.0:* #p#分頁標(biāo)題#e#
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 2456 /dev/gpmctl
unix 2 [ ACC ] STREAM LISTENING 2634 /tmp/.gdm_socket
unix 2 [ ACC ] STREAM LISTENING 2496 /tmp/.font-unix/fs7100
unix 2 [ ACC ] STREAM LISTENING 2644 /tmp/.X11-unix/X0
>>3.設(shè)置允許接受的域名
現(xiàn)在sendmail已經(jīng)可以接收來自外部的連接了.我們還需要設(shè)定sendmail允許接收的域名.這個可以在/etc/mail/local-host-names
文件中設(shè)定.就把域名輸入進(jìn)去就可以了:
# local-host-names - include all aliases for your machine here.
supermaster.com //add
保存退出后重新啟動sendmail服務(wù):/etc/init.d/sendmail restart .這樣sendmail就可以接收來自多個域的信件了. 如果你需要再增加新的域,只有修改這個文件就可以了.
>>4.client 端的設(shè)置
現(xiàn)在的e-mail服務(wù)器在本機(jī)上已經(jīng)可以完全正常的工作.它已經(jīng)可以接收來自任何地方的信件(允許的域),但如果想要發(fā)送和傳遞郵 件,則必須在這臺電腦上執(zhí)行.如果你的用戶都直接登錄到你的服務(wù)器上來發(fā)送郵件,則不需要更改任何配置,如果你希望大部分或者所有的用戶可以在遠(yuǎn)程主機(jī)上使用該e-mail服務(wù)器,例如利用KMail和Outlook Express及Mozilla Mail等客戶端工具,則你必須更改配置來允許這些主機(jī)使
用你的e-mail服務(wù)器.你需要在/etc/mail/access文件中加入下面一行,保存后運(yùn)行make access.db 的命令來生成access.db文件.
supermaster.com RELAY
改完后的access文件應(yīng)該是這樣的:
# Check the /usr/share/doc/sendmail/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
# package.
#
# by default we allow relaying from localhost...
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
supermaster.com RELAY //add
然后運(yùn)行:
[root@AS3 mail ]# make access.db
[root@AS3 mail ]#
這個make access.db命令把你的新的設(shè)定添加到sendmail的hash數(shù)據(jù)庫里.sendmail用它來判斷允許那些主機(jī)通過你的e-mail服務(wù)器來傳遞郵件.而且這樣還可以通過設(shè)定子網(wǎng)(例如:192.168)來限制該域.但你要注意,這樣設(shè)定就對外開放了,可能會有人發(fā)大量的垃圾 信件來攻擊你的系統(tǒng).
現(xiàn)在你可以收到所有來自外部的郵件.并且允許信賴的客戶在遠(yuǎn)程傳遞信件.接下去你想要做的可能是如何在遠(yuǎn)程收取這些信件.要達(dá)到 這個目的,你需要安裝IMAP 或者 POP. RedHatLinux AS3默認(rèn)安裝的時候并沒有安裝POP/IMAP,所以你需要安裝imap-2002d-2包.
要查看這個包的安裝狀態(tài),可以用下面的命令:rpm -aq | grep -i imap.如果發(fā)現(xiàn)沒有安裝,那就把RedHatLinux AS3第二張安裝光盤
放到光驅(qū)里.然后運(yùn)行如下命令:
[root@AS3 mail ]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
(Successful Mount of Read-Only Media)
mount上光盤后運(yùn)行這個命令來安裝這個包:rpm -Uvh /mnt/cdrom/RedHat/RPMS/ imap-2002d-2.i386.rpm.
[root@AS3 mail ]# rpm -Uvh /mnt/cdrom/RedHat/RPMS/ imap-2002d-2.i386.rpm
Preparing... ########################################### [100%]
1:imap ########################################### [100%]
再運(yùn)行一次 rpm -aq | grep -i imap
IMAP 包就羅列出來了.
[root@AS3 mail ]# rpm -aq | grep -i imap
imap-2002d-2
[root@AS3 mail ]#
>>5.ipop3的設(shè)置
當(dāng)正確的包被安裝后你要打開POP3的連接端口,這需要修改/etc/xinetd.d/下面的ipop3文件,把disable的值改成yes.這個文件
大致是這樣的:
# default: off
# description: The POP3 service allows remote users to access their mail \
# using an POP3 client such as Netscape Communicator, mutt, \#p#分頁標(biāo)題#e#
# or fetchmail.
service pop3
{
disable = no //change
socket_type = stream
wait = no
user = root
server = /usr/sbin/ipop3d
log_on_success += HOST DURATION
log_on_failure += HOST
}
接下去重新啟動xinetd來是它生效:
[root@AS3 xinetd.d]# service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
[root@AS3 xinetd.d]#
建議將ipop3 設(shè)置成自動啟動,操作如下:
#redhat-config-services或setup或ntsysv
OK,至此sendmail的配置完成,發(fā)送一封測試郵件到你的e-mail服務(wù)器,并且用你熟悉的收信工具來收取這封信.
4.sendmail的性能優(yōu)化
或許你會收到這樣的抱怨,說是當(dāng)客戶端程序運(yùn)行在防火墻后面的話會發(fā)生連接pop端口速度變慢.
造成這個延時的原因是你的e-mail服務(wù)器初始一個IDENT會話來確認(rèn)客戶端的身份.如果這個詢問沒有反應(yīng),那服務(wù)器就會在5秒后發(fā)出
一個超時信號.這個值可以降低到1秒,從而減少IDENT產(chǎn)生影響.修改/etc/mail/sendmail.cf文件,把timeout的值改成你想要的值.
# timeouts (many of these)
#O Timeout.ident=5s
change to
O Timeout.ident=1s
現(xiàn)在你的e-mail服務(wù)器可以給你的用戶提供服務(wù)了.當(dāng)然還有更多的配置可以用來提高服務(wù)器性能,在這篇文章中就不多提了.
Linux將會為你的e-mail服務(wù)提供一個穩(wěn)定的,高效的平臺.如果想了解更多的關(guān)于sendmail的知識,請訪問www.sendmail.org.
注:筆者建議大家在第一測試sendmail時,把fireware 服務(wù)關(guān)閉。
相關(guān)文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內(nèi)2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細(xì)信息? 3招輕松查看CPU型號、核心數(shù)和溫度
在日常運(yùn)維工作中,獲取 CPU 信息是系統(tǒng)運(yùn)維管理員常見的工作內(nèi)容,無論是為了性能調(diào)優(yōu)、硬件升級還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨(dú)樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡化,優(yōu)化,現(xiàn)代化,實(shí)用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機(jī)U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個win11裝機(jī)u盤,詳細(xì)如下2025-02-17Rsnapshot怎么用? 基于Rsync的強(qiáng)大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠(yuǎn)程文件,接下來詳細(xì)介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時、每天、每周和每月的本地備份,以及如何進(jìn)2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡化內(nèi)核搶占邏輯,通過減少與調(diào)度器相關(guān)的調(diào)用次數(shù),讓內(nèi)核在運(yùn)行時表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領(lǐng)創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預(yù)覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內(nèi)核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進(jìn),進(jìn)一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領(lǐng)域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細(xì)安裝指南2025-01-16