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

时间:2020-04-23 00:18:53

标签: python

我正在尝试使用python发送Outlook电子邮件。但是我遇到了这个错误。我尝试使用Win 32和许多其他方式,但是它们都不起作用,我不确定这个问题。

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()

1 个答案:

答案 0 :(得分:2)

“名称解析临时失败”通常表示DNS问题。检查您使用的主机名smtp-mail.outlook.com是否真正解析。你能ping通吗?您可以使用netcat或其他电子邮件程序连接到它吗?

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

如果错误始终存在,则可能是某个地方的DNS服务器配置错误。也许您使用的主机名不正确,并且操作系统错误地报告了该错误。

无论如何,这可能可能与您的Python代码无关。