![確定電子郵件地址的退回/rfc 狀態,而無需向該地址發送電子郵件](https://rvso.com/image/1452252/%E7%A2%BA%E5%AE%9A%E9%9B%BB%E5%AD%90%E9%83%B5%E4%BB%B6%E5%9C%B0%E5%9D%80%E7%9A%84%E9%80%80%E5%9B%9E%2Frfc%20%E7%8B%80%E6%85%8B%EF%BC%8C%E8%80%8C%E7%84%A1%E9%9C%80%E5%90%91%E8%A9%B2%E5%9C%B0%E5%9D%80%E7%99%BC%E9%80%81%E9%9B%BB%E5%AD%90%E9%83%B5%E4%BB%B6.png)
當您發送的電子郵件因某種原因被伺服器拒絕時,您可能會收到一條退回訊息,其中包含有關電子郵件被退回原因的有用信息,例如 RFC 狀態代碼。有沒有一種方法可以在不實際發送電子郵件(例如某種 ping)的情況下獲取相同的資訊?所以,我可以說:如果我假設地發送電子郵件到[電子郵件受保護],我能明確知道它是否會反彈嗎?如果它會反彈,反彈會是什麼樣子?
我有一個通訊組清單。如果郵件被退回,目標收件者就會被標記。如果他們連續 3 次被標記,我就會停止向他們發送郵件。目的是讓我的伺服器不會浪費資源來建置和排隊發送到錯誤地址的電子郵件,而它們卻坐在那裡搞亂我的郵件佇列。
我想讓禁令成為“試用期”,我將來會測試該地址,看看它是否仍然會反彈。也許他們的收件匣剛剛滿了,但現在又滿了。或者也許他們的伺服器將我的 IP 列入黑名單,而我已被列入白名單。 有沒有什麼方法可以在不實際向他們發送電子郵件的情況下確定這一點?如果它再次反彈,它可能會繼續堵塞我的郵件隊列並浪費伺服器資源,這是我試圖避免的。
我正在qmail
使用CentOS
.
答案1
您唯一可以做的就是查看退回原因,並可能區分不存在的用戶或其他「永久」原因(錯誤的電子郵件地址可能會無限期地繼續失敗)和暫時原因(包括收件匣已滿),您可以在其中區分定期重試,也許使用逐漸增加的延遲方案來不浪費資源 - 但也不要永遠放棄。
除此之外,您無法確定重試是否會反彈,因為您不知道瞬態條件是否仍然存在。
您可以在這裡了解更多詳細資訊:https://www.oasis-open.org/khelp/kmlm/user_help/html/how_email_works.html