在如何在Ubuntu 16.04上安裝配置郵件發(fā)送服務(wù)器一文中峦耘,我嘗試了配置ubuntu作為電子郵件發(fā)送服務(wù)器签夭。在使用中顷歌,發(fā)現(xiàn)這種發(fā)送方式很不穩(wěn)定物咳,我推測(cè)應(yīng)該是發(fā)送服務(wù)器域名解析的問題诫钓。
可能的原因是旬昭,郵件發(fā)送至目標(biāo)郵件服務(wù)器后,目標(biāo)服務(wù)器判斷發(fā)件人郵件地址與實(shí)際源郵件服務(wù)器ip地址不匹配菌湃,所以作為垃圾郵件丟棄了问拘。今天我在ubuntu上試用sendemail在終端發(fā)送郵件,非常方便好用惧所。
2017-12-26 update: 查看系統(tǒng)日志骤坐,配置ubuntu作為郵件發(fā)送服務(wù)器向126郵箱發(fā)送郵件的時(shí)候,發(fā)現(xiàn)以下錯(cuò)誤信息:
host 126mx03.mxmail.netease.com[220.181.15.196] said:
554 DT:SPM 126 mx16,xMmowABnAeR_ujtawL6qEg--.27616S2 1513863808,please see
http://mail.163.com/help/help_spam_16.htm?
ip=222.175.171.52&hostid=mx16&time
=1513863808
經(jīng)檢查126郵箱退信的常見問題下愈,出現(xiàn)
554
錯(cuò)誤代碼原因有以下幾種情況:
- 554 DT:SPM 發(fā)送的郵件內(nèi)容包含了未被許可的信息纽绍,或被系統(tǒng)識(shí)別為垃圾郵件。請(qǐng)檢查是否有用戶發(fā)送病毒或者垃圾郵件势似;
- 554 DT:SUM 信封發(fā)件人和信頭發(fā)件人不匹配拌夏;
- 554 IP is rejected, smtp auth error limit exceed 該IP驗(yàn)證失敗次數(shù)過多,被臨時(shí)禁止連接履因。請(qǐng)檢查驗(yàn)證信息設(shè)置障簿;
- 554 HL:IHU 發(fā)信IP因發(fā)送垃圾郵件或存在異常的連接行為,被暫時(shí)掛起栅迄。請(qǐng)檢測(cè)發(fā)信IP在歷史上的發(fā)信情況和發(fā)信程序是否存在異常站故;
- 554 HL:IPB 該IP不在網(wǎng)易允許的發(fā)送地址列表里;
- 554 MI:STC 發(fā)件人當(dāng)天內(nèi)累計(jì)郵件數(shù)量超過限制毅舆,當(dāng)天不再接受該發(fā)件人的投信西篓。請(qǐng)降低發(fā)信頻率;
- 554 MI:SPB 此用戶不在網(wǎng)易允許的發(fā)信用戶列表里憋活;
- 554 IP in blacklist 該IP不在網(wǎng)易允許的發(fā)送地址列表里岂津。
證實(shí)了我的猜測(cè)。
前提
你應(yīng)該有一個(gè)郵箱地址余掖,這個(gè)郵箱可以使用smtp端口發(fā)信寸爆。因?yàn)樵诮K端發(fā)郵件時(shí)的命令行中礁鲁,要顯式輸入登陸smtp服務(wù)器的用戶名和密碼,安全性存在一定問題赁豆,所以建議你申請(qǐng)一個(gè)免費(fèi)郵件系統(tǒng)仅醇。我使用的yahoo的郵件。
安裝
apt-get install libio-socket-ssl-perl libnet-ssleay-perl sendemail
使用
使用方法:
sendemail -f ADDRESS [options]
參數(shù)詳解:
-f ADDRESS # 發(fā)件人地址魔种,注意此地址應(yīng)該是你真實(shí)地址
-t ADDRESS # 收件人地址
-u SUBJECT # 主題
-m MESSAGE # 郵件正文
-s SERVER[:PORT] # SMTP服務(wù)器地址及端口
-a FILE [FILE ...] # 附件
-cc ADDRESS [ADDR ...] # 抄送地址
-bcc ADDRESS [ADDR ...] # 暗抄送地址
-xu USERNAME # SMTP服務(wù)器用戶名
-xp PASSWORD # SMTP服務(wù)器密碼
-o # 其它選項(xiàng)
示例
如我使用yahoo郵箱作為郵件發(fā)送服務(wù)器析二,要把sendemail命令的使用方法作為附件發(fā)到我的信箱中:
man sendemail > sendemail.usage.txt
sendemail -f zhaohufan@yahoo.com.hk -t fanzhh@gmail.com -u "sendemail使用說明" -m "sendemail使用說明詳解。" -s smtp.mail.yahoo.com -o tls=yes -xu zhaohufan@yahoo.com.hk -xp 密碼 -a sendemail.usage.txt
注意:-o tls=yes
選項(xiàng)意為服務(wù)器需要SSL驗(yàn)證节预。