python 发送安全邮件

用python 写了一个发送邮件的脚本,配上host 和端口,发现一直报错:

smtplib.SMTPException: No suitable authentication method found.

回头又看了下发送邮件服务器的配置说明,发现发送邮件服务器用的加密协议是:STARTTLS(即所谓的安全邮件),而smtplib支持ttls需要添加一行命令,

为了验证是否是此问题导致,将邮件设置为了调式模式,发现返回结果里确实有如下信息:reply: '250-STARTTLS ',于是调整脚本如下,发送成功

#!/usr/bin/python
#-*- coding: utf-8 -*-

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
import sys
reload(sys)
sys.setdefaultencoding('utf8') 

def smail():
	sender='xxx@xx.com'
	receiver=['xxx@xx.com']

	username='xxx'
	password='xxx'

	msg = MIMEText('11111')
	smtp = smtplib.SMTP()
	smtp.set_debuglevel(1) #设置为调试模式,会话过程中输出信息
	smtp.connect('mail.xxx.com',xx) 
	smtp.starttls() #添加支持安全邮件
	smtp.login(username, password)
	smtp.sendmail(sender, receiver, msg.as_string())
	smtp.quit()


smail()                                 

  

原文地址:https://www.cnblogs.com/muxinyue/p/5261149.html