[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 應用技術 > Sendmail > 正文
SENDMAIL HOWTO 中文版--4.設置 Sendmail
作者: Wuxuehui Wuxuehui@games.net.cn (2001-05-23 18:08:00)

4.1 設置Sendmail.cf
產生出來的YYY.cf一般得要改個地方才能正常的收信。請尋找"Cw",原來產生的.cf 檔,Cw應是:Cwlocalhost
請在localhost 之後加上你那一台機器所有可能用來當收信地址的host name 。 
例如我有一台機器叫:ftp.games.net.cn,而且也叫:gopher.games.net.cn,
而我希望這一台機器這兩個名字都能收信,那我要這作: 
Cwlocalhost ftp.games.net.cn gopher.games.net.cn 

順便說一下,Cw之後只能寫入本機器的名字,千萬不能寫入其他機器的名字,否則,甚麼地方都能寄,那被寫的就 
一定不能寄。

上面其實是簡略的說法,如果你對DNS 也熟悉的話,可參考這節來作判斷,判斷是否須要在Cw之後寫入東東。否則 
請直接跳過這一小節,閉上眼睛把本機器所用的所有名字都寫上就是了:) 

1.在一台機器上,如果有多個名字(hostname),而是用CNAME 建立的,如: 
$ORIGIN games.net.cn
ftp IN A 140.119.1.2 
gopher IN CNAME ftp 

那麼可以不必在Cw上標明。系統會透過DNS 找到其 Canonical name。 

2.如果一台機器有多個名字,可是,每個名字是用A record 建立的。如: 
$ORIGIN games.net.cn.
ftp IN A 192.168.25.2 
gopher IN A 192.168.25.2
這種情況【一定】要記得在Cw後寫上你所要收信的名字。如果這個忘了寫,會有怎樣的問題呢? 
忘了將會有從外面機器寄信來,沒有寫上的機器名將卻收不到信,機器會抱怨: 
"Local configuration error" 。 

如:我的sendmail.cf中的Cw這行是如下: Cw games.net.cn
那我將無法使用這個地址: 
username@games.net.cn
而只能用 
username@ftp.games.net.cn 否則將出現上述錯誤。 

如果發現了錯誤,那再加上去也就可以了。 

3.如果一台機器有多interface ,各interface有其本身的名字,且要收信。
這個情況也要在Cw之後寫明所有要收信的hostname。


ok!一個標準的sendmail.cf文件就設置完了! 

4.2 設置access

打開/etc/mail/access,你會看到 (注意一些系統的access文件不再/etc/mail下,如找不到請用whereis查找或檢查是否安裝正常)

# Check the /usr/doc/sendmail-8.9.3/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/doc/sendmail-8.9.3/README.cf is part of the sendmail-doc
# package.
#
# by default we allow relaying from localhost...
localhost.localdomain                      RELAY
localhost                                  RELAY

如果您的IP地址是192.168.25.11的話,這樣請在最一行加上192.168.25.11       RELAY
其文件的最三行應是:

localhost.localdomain                      RELAY
localhost                                  RELAY
192.168.25.11                              RELAY

加上這句話您就可以用sendmail發送接收mail了!但是如果您想讓別人也可以使用sendmail的話,
他的IP是202.168.25.22,這樣就在在最一行加入202.168.25.22       RELAY
其文件的最四行應是:

localhost.localdomain                      RELAY
localhost                                  RELAY
192.168.25.11                              RELAY
192.168.25.22                              RELAY

我想,您現在一定有個疑問是,如果我想設置50個人用sendmail是不是需要加50個IP啊!?
嘿嘿,不用啦,是這樣,sendmail考慮到多用戶的時候,它準許你添入整個C類地址,(B類好像也可以,我沒try過!)
其格式如下:

localhost.localdomain                      RELAY
localhost                                  RELAY
192.168.25                                 RELAY

這樣,您就是把192.168.52這整個C都加入的sendmail中,這個C類地址的用戶,如果在你的系統裡有賬號的話,
就可以使用sendmail收發信件了!

4.3 設置pop3

如果您需要pop3來接收信件,您需要打開pop3端口,

vi /etc/inetd.conf 查找到

# pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

把#號刪掉。

vi /etc/services 查找到

#pop-3         110/tcp                # POP version 3


把#號刪掉。

這樣,在restart inetd,pop3 110端口就可以接信了!如果還是不行,請檢查是否安裝pop3端口!

4.4 如何restart sendmail;inetd以及注意事項

有一點要提醒大家的,要用"kill -9 [pid-of-sendmail]" ,從新啟動sendmail
如果用 kill -HUP 是不會發生作用的! (這是頗多人常遇到的問題,切記!)

在redhat6中用/etc/rc.d/init.d/sendmail restart即可!

inetd是
/etc/rc.d/init.d/inetd restart (http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
SENDMAIL HOWTO 中文版--5.Sendmail的其它設置 (2001-05-23 19:00:00)
SENDMAIL HOWTO 中文版--4.設置 Sendmail (2001-05-23 18:08:00)
SENDMAIL HOWTO 中文版--3.安裝Sendmail (2001-05-23 17:04:00)
SENDMAIL HOWTO 中文版--1.前言--2.簡介 (2001-05-23 16:10:00)
 

★  樊強制作 歡迎分享  ★