用python 写了一个发送邮件的脚本,配上host 和端口,发现一直报错:
smtplib.SMTPException: No suitable authentication method found.
回头又看了下发送邮件服务器的配置说明,发现发送邮件服务器用的加密协议是:STARTTLS(即所谓的安全邮件),而smtplib支持ttls需要添加一行命令,
为了验证是否是此问题导致,将邮件设置为了调式模式,发现返回结果里确实有如下信息:reply: '250-STARTTLS\r\n',于是调整脚本如下,发送成功
#!/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()