Python3 实现网易126邮件发送

不多说,直接上代码

# coding: utf-8
import smtplib
from email.mime.text import MIMEText
from email.header import Header

#发件人
sender = '[email protected]'
#客户端授权码:需要在注册邮箱后,登录进入->设置->常规设置->客户端授权码 里面进行设置
authCode = 'a123456'

#email:收件人,message:发送内容
def sendEmailMessage(email, message):
    print("sendEmailMessage, emial:" + email + ",message:" + message)
    messageObj = MIMEText(message, "plain", "utf-8")
    #设置主题
    messageObj['Subject'] = Header("验证码邮件", "utf-8")
    #设置发件人
    messageObj['From'] = sender
    #设置收件人
    messageObj['To'] = email
    try:
        #建立客户端
        smtpObj = smtplib.SMTP()
        #连接
        #此处是网易126邮箱,使用163邮箱则为smtp.163.com
        smtpObj.connect('smtp.126.com')
        #认证
        smtpObj.login(sender, authCode)
        #发送邮件
        smtpObj.sendmail(sender, [email], messageObj.as_string())
        #断开连接
        smtpObj.close()
        print("send mail sucess")
        return True
    except smtplib.SMTPException as ex:
        print("send email failed")
        print(ex)
        return False
if __name__ == '__main__' :
    #验证
    sendEmailMessage("[email protected]","test邮箱是否可以调用")

遇到的问题:

使用smtp发送126邮箱时,出现了sender(发件人邮箱)使用双引号出现554问题,why?待解决

554, b'DT:SPM 126 smtp2,DMmowAAna0kHEFhdrMmkJw--.38906S2 1566052359,please see http://mail.163.com/help/help_spam_16.htm?ip=124.115.222.149&hostid=smtp2&time=1566052359'

更新,这554问题并不是由于sender单双引号引起的。但出现一个奇怪的现象,这邮件发送似乎是有限制一样,在报554问题间隔一天左右的时间就可以再次发送了。

你可能感兴趣的:(python)