python支持通過smtplib和email兩個模塊來發送smtp電子郵件,其中email負責構造郵件,smtplib負責發送電子郵件。
下面的例子是使用163郵箱來發送郵件,需要提前在163郵箱中配置支持smtp協議第三方客戶端,同時需要設置對應的授權碼。
#!/usr/bin/python
# -*-coding:UTF-8-*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = "[email protected]"
pwd = "xxxxxxxx"
receivers = "[email protected]"
# 郵件內容
body_content = ''' 郵件內容
'''
message = MIMEText(body_content, "plain", "utf-8")
# 發件人
message['From'] = "服務器機器人<[email protected]>"
# 收件人
message['To'] = "用戶<[email protected]>"
# 郵件標題
subject = "標題"
message['Subject'] = Header(subject, "utf-8")
try:
smtpObj = smtplib.SMTP_SSL("smtp.163.com", 465)
smtpObj.login(sender, pwd)
smtpObj.sendmail(sender, receivers, message.as_string())
print ("郵件發送成功")
except smtplib.SMTPException as e:
print ("郵件發送失敗 : {}".format(e))
163郵箱服務器地址以及端口等信息參考:
什麼是POP3、SMTP和IMAP?
http://help.mail.163.com/faqDetail.do?code=d7a5dc8471cd0c0e8b4b8f4f8e49998b374173cfe9171305fa1ce630d7f67ac22dc0e9af8168582a
通過上面的代碼發送smtp郵件