歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Sendmail郵件服務器快速指南 2

Sendmail郵件服務器快速指南 2

日期:2017/3/1 18:11:35   编辑:Linux技術
postmaster: root
bin: root
daemon: root
nobody: root
然後生成aliases庫:
[root@email mail]# newaliases
然後,就可以啟動Sendmail了:
[root@email mail]# /usr/sbin/sendmail -bd -q20m
在第一次啟動時可能出現如下的錯誤信息:
554 5.0.0 /etc/mail/sendmail.cf: line 41: unknown configuration line ""
554 5.0.0 /etc/mail/sendmail.cf: line 60: unknown configuration line ""
不要緊張,只需要使用vi編輯器將這些行刪除即可,其實41、60等行都是空白行而已。刪除以後再重新啟動就應該沒有問題了。
qpopper的安裝配置
qpopper是Unix/Linux環境下的pop3服務器,該軟件配合sendmail使用。其主要是實現支持用戶通過pop3接收信件。
創建從/usr/mail指向/var/spool/mail/的鏈接:
[root@email src]# ln -s /var/spool/mail/ /usr/mail
解壓qpopper軟件包:
[root@email src]# tar xvfz qpopper4.0.3.tar.gz
[root@email src]# cd qpopper4.0.3
編譯安裝qpopper:
[root@email qpopper4.0.3]# ./configure
[root@email qpopper4.0.3]# make
[root@email qpopper4.0.3]# make install
安裝成功以後,qpopper將會被安裝在目錄/usr/local/sbin/目錄下。設置inetd啟動qpopper。編輯/etc/inetd.conf,查找pop內容的一行,在其前面添加#號,然後在改行後面添加入下內容:
pop-3 stream tcp nowait root /usr/local/sbin/popper qpopper -s
然後查找inetd進程ID號:
[root@email qpopper4.0.3]# ps ax|grep inetd
336 ? S 0:00 inetd
16872 pts/0 S 0:00 grep inetd
找到inetd進程號為226。然後重新啟動inetd進程,重新讀取配置文件:
[root@www qpopper4.0.3]# kill -HUP 336
這時候查看系統服務端口號:
[root@email qpopper4.0.3]# netstat -ln|grep 110
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
則說明110端口已經開始正常服務。
IMAP服務器安裝測試
實現對IMAP的支持非常簡單,只需要安裝IMAP軟件包的RPM包:
[root@email RPM]# rpm -ivh imap-4.7-5.i386.rpm (這裡是在6.2環境下,如果在7.x環境下需要安裝更高版本的imap)
然後確保/etc/inetd.conf文件中imap所在行如下圖所示:
imap stream tcp nowait root /usr/sbin/tcpd imapd
然後重新啟動inetd以更新配置:
[root@email /]# kill -HUP 379 (這裡379是inetd的進程號)
然後查看imap是否成功啟動:
[root@email /]# netstat -ln|grep 143
注:對於6.2版本的imap-4.7來說 支持imap2,所以是143端口。RH7.x的imap-2000會支持imap3,因此可能還會監聽220端口)
這時候就可以在outlook express中添加賬號進行測試了。
測試
接下來是測試郵件服務器的郵件發送/接收功能,注意:測試時,不要在只對本地用戶進行測試,如:你的域為abc.com,測試時,不要只在郵件服務器上通過mail、elm等程序測試[email protected]用戶。因為,此時user1是本地用戶,所以郵件服務器可以對其進行Relay。你應該從局域網上的另一台機器使用Outlook等郵件客戶端對服務器進行收發測試。
這種配置對於IP固定用戶沒有問題,只需要在access文件中指定其固定IP即可,而對於需要支持流動用戶,如撥號用戶的應用則不大適合,因為如果完全打開RELAY功能可能導致郵件服務器的稱為垃圾郵件的轉發站。
解決用戶IP不固定問題有兩種方案,一種為采用SMTP認證,即用戶發送郵件以前,郵件服務器進行用戶身份認證,通過則服務器為其發送郵件,否則拒絕發信;第二種方案是采用動態轉發授權控制(Dynamic Relay authorization control),其工作原理為:撥號用戶撥號上網後,首先收郵件,如果用戶能正確收郵件,則DRAC自動在access.db中加入剛才收郵件用戶的IP,並允許此IP可以發信。不過,30分鐘內,此IP不發/收郵件的話,DRAC將從access.db中刪除此IP。此種機制保證撥號用戶在沒有SMTP認證的情況下,也可以通過遠程郵件服務器發送E-mail。 這些技術將在以後的文章內討論。
FAQ
1、sendmail如何設置虛擬域?
如同Apache一樣,sendmail也允許使用虛擬主機功能,這是通過在mc文件中FEATURE(virtusertable)功能實現的,而虛擬主機的文件缺省是/etc/mail/virtusertable.db,它用/etc/mail/virtusertable文件生成,這個文件的形式類似於aliases文件,即左地址 右地址
,中間用Tab鍵分開。例如:
[email protected] localuser
這樣一行意味著本來應該發送給[email protected]的郵件現在要發送給本機的用戶localuser。當然,這意味著:第一,你的DNS記錄中,本機應該是otherdomain.com的MX交換器;第二,你的本機sendmail.cw文件或local-host-names應該包含otherdomain.com這個名字。
當然純粹的這樣的域意義不大,但是sendmail還支持郵件虛擬域的參數翻譯。例如:
@testdomain.com [email protected]
意味著所有發往xxx@testdomain的郵件都會被發送到[email protected] 。而
@testdomain.com %[email protected]
則代表參數轉義,例如[email protected]的郵件被發送到[email protected][email protected]被發送到[email protected] 。同樣,這樣的功能也要通過MX記錄和CW文件加上去。 上一頁12 下一頁 閱讀全文
Copyright © Linux教程網 All Rights Reserved