使用相同的凭据,我可以使用SMTP服务器以我的C#代码发送电子邮件。但由于某些原因似乎无法使其在Python上运行。
这是我的代码:
def sendEmail(e):
SMTPserver = 'outlook.office365.com'
sender = 'x'
destination = ['x']
USERNAME = "x"
PASSWORD = "x"
text_subtype = 'plain'
content="""\
Test message
"""
subject = str(e)
try:
msg = MIMEText(content, text_subtype)
msg['Subject'] = subject
msg['From'] = sender
conn = SMTP(SMTPserver) #THIS IS WHERE IT GETS STUCK
conn.set_debuglevel(False)
conn.login(USERNAME, PASSWORD)
try:
conn.sendmail(sender, destination, msg.as_string())
finally:
conn.quit()
except Exception:
print( "mail failed" ) # give a error message
print(traceback.format_exc())
它被困在这里:“conn = SMTP(SMTPserver)”。
有什么想法吗?
编辑:另外,奇怪的是,telnet给了我这个 - >
C:\ Users \ x> telnet outlook.office365.com正在连接到 outlook.office365.com ...无法在端口上打开与主机的连接 23:连接失败