Python QQ 发送Email SMTP

 

 

 

1.设置

需要先去qq邮箱后台设置,打开POP3/SMTP,还要生成授权码,就是下面代码中填的密码。MIMEText支持html

 

import smtplib

from email.mime.text import MIMEText
_user = "XXX@qq.com"
_pwd  = "XXXX"
_to   = "XXX@qq.com"

msg = MIMEText("Test")
msg["Subject"] = "don't panic"
msg["From"]    = _user
msg["To"]      = _to

s = smtplib.SMTP_SSL("smtp.qq.com", 465)
s.login(_user, _pwd)
s.sendmail(_user, _to, msg.as_string())
s.quit()

 

 

 

SMTP_SSL 用这个初始化,端口传465

 

增加附件的:

def email_notify(to_email, subject, msg_body, file_name):
    _user = settings.Email['user']
    _pwd = settings.Email['password']
    _to = to_email

    msg = MIMEMultipart( _subtype='mixed')
    msg["Subject"] = subject
    msg["From"] = _user
    msg["To"] = _to
    # 邮件正文
    msg.attach(MIMEText(msg_body, 'plain', 'utf-8'))

    # 构造附件1
    att1 = MIMEText(open(file_name, 'rb').read(), 'base64', 'utf-8')
    att1['Content-Type'] = 'application/octet-stream'
    att1['Content-Disposition'] = 'attachment; filename= "%s"' % file_name
    msg.attach(att1)

    s = smtplib.SMTP_SSL(settings.Email['smtp_server'], settings.Email['port'])
    s.login(_user, _pwd)
    s.sendmail(_user, _to, msg.as_string())
    s.quit()
1828

Leave a Reply

Name and Email Address are required fields.
Your email will not be published or shared with third parties.