用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()