2013年7月2日 星期二

sendmail as smtp client

在客戶的環境有時不能直接發送郵件,而是要利用客戶端的郵件伺服器發送,這通常透過sendmail.cf 的 DS 參數設定就好,但客戶環境有時會需要帳號密碼驗證才能 relay ,這時就需要了解客戶是採用哪種方式驗證,可以透過 telnet 來了解,如下: 
shell># telnet mail.test.com.tw 25

Trying 60.199.200.208...

Connected to mail.test.com.tw

Escape character is '^]'.

220 mail.test.com.tw ESMTP Postfix

ehlo localhost

250-mail.test.com.tw

250-PIPELINING

250-SIZE 30760000

250-VRFY

250-ETRN

250-AUTH PLAIN CRAM-MD5 DIGEST-MD5 LOGIN

250-AUTH=PLAIN CRAM-MD5 DIGEST-MD5 LOGIN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN


透過 AUTH 可以了解到這台郵件主機是採用 PLAIN CRAM-MD5 DIGEST-MD5 LOGIN 這幾種方式驗證,若確定要採用 CRAM-MD5 DIGEST-MD5 這兩種方式驗證,自己的 sendmail 也要支援才能相互溝通,一樣可以使用 telnet 來驗證自己的主機是否支援。 


接下來設定帳號密碼資訊 
shell># vim /etc/mail/authinfo 
AuthInfo:other.dom "U:user" "I:user" "P:secret" "M:DIGEST-MD5 CRAM-MD5" 

shell># makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo 

確保帳密資訊安全 
shell># chmod 600 authinfo 

增加 RELAY 伺服器參數 
shell># vim /etc/mail/sendmail.cf 
DSrelay.test2.org.tw 

重新啟動sendmail 
shell># service sendmail restart 

轉貼至http://beakdoosan.blogspot.tw/

沒有留言:

張貼留言