我試過在python中玩耍以瞭解更多關於smtp協議。更確切地說,我一直在試圖直接向主機的SMTP服務器發送郵件,但收效甚微。SMTP直接到主機的MX記錄
例如,假設我想將郵件發送到gmail.com地址,我查找的MX記錄gmail.com:
>> nslookup -type=MX gmail.com
gmail.com MX preference = 40, mail exchanger = alt4.gmail-smtp-in.l.google.com
gmail.com MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com
gmail.com MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google.com
那我該在python以下幾點:
import smtplib
# Tried both port 465 and 587 (can't test port 25 since it's blocked by my ISP)
s = smtplib.SMTP("alt1.gmail-smtp-in.l.google.com", 587)
我試了,和適合所有人,但一個我一直有一個:
「[錯誤10051]套接字操作試圖無法訪問網絡」或
「[Errno 10060]連接嘗試失敗,因爲連接方在一段時間後未正確響應,或建立的連接失敗,因爲連接的主機未能響應」「異常。
我在某處讀某些郵件服務器對您的IP進行反向查找,並在它沒有域的情況下拒絕連接。他們如何做到這一點?
我也讀過很多郵件服務器拒絕來自動態IP地址(我顯然作爲私人客戶到我的ISP)的郵件。他們如何檢查IP地址是動態的還是靜態的?
這些是大多數服務器似乎拒絕我的連接的原因嗎?還是有更多的東西呢?
負責任的ISP將其動態IP範圍提交給公共垃圾郵件阻止列表。其他人必須被強迫或猜測,或許是基於他們反向DNS中的命名模式,或者在最壞的情況下是批量阻止。 – tripleee