電子郵件地址不是我在這里提到的那個。
這是代碼:
import dns.resolver
import smtplib
email_address = "[email protected]"
domain_name = email_address.split('@')[1]
records = dns.resolver.resolve(domain_name, 'MX')
mxRecord = records[0].exchange
mxRecord = str(mxRecord)
print(mxRecord)
server = smtplib.SMTP_SSL()
server.set_debuglevel(1)
server.connect(mxRecord,465)
我在 server.connect() 上遇到的錯誤是:
self.sock = self._get_socket(host, port, self.timeout)
new_socket = super()._get_socket(host, port, timeout)
return socket.create_connection((host, port), timeout,
TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
uj5u.com熱心網友回復:
records = dns.resolver.resolve(domain_name, 'MX') ... server.connect(mxRecord,465)
埠 465 和 587 用于為該提供商的客戶聯系該提供商的郵件服務器。訪問這些埠通常也需要身份驗證。
由 MX 記錄宣布的郵件服務器需要標準 SMTP 埠 25 上的連接。這些連接必須以普通方式完成,而不是 SSL。要升級到 SSL,必須在普通連接上發出STARTTLS 命令。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/427959.html
