gaierror:[Erno-3]发送outlook电子邮件python时名称解析暂时失败



我正试图用python发送一封outlook电子邮件。但我犯了这个错误。我尝试过使用win32和许多其他方式,但都不起作用,我不确定问题所在。

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText 

fromaddr = "anc@abc.com"
toaddr = "abc@abc.com"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "datalerty"
body = "sample"
msg.attach(MIMEText(body, 'plain'))
server = smtplib.SMTP('smtp-mail.outlook.com',587)
server.starttls()
server.login(fromaddr, "abc")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()

"名称解析中的临时失败"通常意味着DNS有问题。检查您正在使用的主机名smtp-mail.outlook.com是否已真正解析。你能ping它吗?你能用netcat或其他电子邮件程序连接到它吗?

如果问题是间歇性的,那是因为网络不可靠。一般来说,你需要预料到这类问题,并在它们发生时重试。或者让您的应用程序崩溃,并假设其他操作将重试。但通常最好在接近错误的地方进行。

如果错误持续发生,则可能是某个位置的DNS服务器配置错误。或者,您使用的主机名不正确,并且操作系统报告错误。

在任何情况下,这可能不是Python代码的问题。

最新更新