使用tls / ssl使用python发送Office365的SMTP电子邮件

时间:2019-02-13 06:55:37

标签: python-2.7 smtp smtplib

我正在尝试创建一个Python脚本来发送带有某些消息的电子邮件。 我的设置基于smtp.office365.com。我创建了一些脚本来完成这项工作。

#!/usr/bin/python

print ("HI! let's start")  
import smtplib  
import getpass

port=587                                                                                                                    
smtp_server="smtp.office365.com"  
sender_email='mymail@something.com'  
receiver_email='mymail@something.com'  
print ("defining server")  
server = smtplib.SMTP(smtp_server,port)

password=getpass.getpass("enter password")

message='''
Hi,
THIS IS A TEST MESSAGE.
'''

print ("logging in")  
server.login(sender_email,password)  
print ("sending mail now")  
server_sendmail(sender_email,receiver_email,message)  
print ("all must be done by now")

但是由于某些原因,在打印“定义服务器”后卡住了。永远不会要求输入密码。显然smtplib.SMTP命令挂起。你能告诉我为什么会发生这种情况以及如何消除它吗?我的设置如下:

Server: smtp.office365.com
/sjmail.com
security : STARTTLS
Port : 587

1 个答案:

答案 0 :(得分:0)

Vishesh Arya!

Office 365帐户不支持SMTP AUTH扩展名。搜索Microsoft Graph以执行此操作。