1、為什麼不能配置郵件伺服器為open relay的?
如果系統管理員將自己的郵件伺服器設定為open relay,將會導致一些濫發垃圾郵件者將你的郵件伺服器作為轉寄自圾郵件的中繼站,這將使垃圾郵件的接收者將矛頭對準你,可能會導致報複性的郵件炸彈;垃圾郵件還能消耗你大量的資源,佔用你的頻寬。更為糟糕的事情可能是你的名字可能會上了黑名單,成為其他郵件接收者共同抵制的目標,你的郵件將被這些接收者所拒絕。
2、什麼是郵件轉寄(mail relay)
設定好一個email伺服器以後,該伺服器將具有一個或若干個網域名稱,這時email伺服器將監聽25號連接埠,等待遠端發送郵件的請求。網路上其他的mail伺服器或者請求發送郵件的MUA(Mail User Agent,如outlook express、foxmail等等)會串連email伺服器的25號連接埠,請求發送郵件,SMTP會話過程一般是從遠程標識自己的身份開始,過程如下: HELO remote.system.domainname
250 qmailserver.domain
MAIL FROM:user@somewherer.net
250 OK
RCPT TO: user1@elsewhere.net
郵件的接收者user1@elsewhere.net中的網域名稱並不一定是本地區名,這時候本地系統可能有兩種回答,接受它: 250 OK
或者拒絕接受它: 553 sorry,.that domain isnot in my domain list of allowed recphosts
第一種情況下,本地email伺服器是允許relay的,它接收並同意傳遞一個目的地址不屬於本地區名的郵件;而第二種情況則不接收非本地郵件。
email一般都有一個設定檔,其決定了是否接受一個郵件。只有當一個RCPT TO命令中的接收者地址的網域名稱存在於該檔案中時,才接受該郵件,否則就拒絕該郵件。若該檔案不存在,則所有的郵件將被接受。當一個郵件伺服器不管郵件接收者和郵件接收者是誰,而是對所有郵件進行轉寄(relay),則該郵件伺服器就被稱為開放轉寄(open relay)的。當email伺服器沒有設定轉寄限制時,其是開放轉寄的。
3、sendmail如何限制郵件轉寄
因為Send Mail 為了怕變成廣告信轉信站所以安裝後只線本機上的 使用者寄信,要讓它為你轉信需要修改一點東西。 修改 /etc/mail/access 檔案在裡面增加下面幾行。 localhost RELAY
192.168.1 RELAY
就可以將 192.168.1 網域裡的信轉出去了。