美文网首页
python 发送邮件

python 发送邮件

作者: 路破格 | 来源:发表于2020-06-23 17:02 被阅读0次
#-*- coding=utf-8 -*-
#-*- encoding:utf-8 -*-

import smtplib
from email.header import Header
from email.mime.text import MIMEText

def send_mail(dst_mail, mail_title, mail_body):
    """
     send mail by stmp server.
    """
    smtp_server = "smtp服务器地址"
    smtp_port = "smtp服务器端口,一般为465"
    smtp_user = "smtp用户"
    smtp_pass = "smtp密码"
    msg = MIMEText(mail_body, "html", "utf-8")
    msg['Subject'] = Header(mail_title, "utf-8")
    msg['from'] = smtp_user
    msg['to'] = ";".join(dst_mail)

    try:
        smtp = smtplib.SMTP_SSL(smtp_server, smtp_port, timeout = 30)
        smtp.login(smtp_user, smtp_pass)
        smtp.sendmail(smtp_user, dst_mail, msg.as_string())  
        smtp.quit()
    except Exception as e:
        print(e)

def send_mail_with_annex(dst_mail, mail_title, mail_body, file_list = []):
    """
     发送邮件并附带附件
    """
    smtp_server = "smtp服务器地址"
    smtp_port = "smtp服务器端口,一般为465"
    smtp_user = "smtp用户"
    smtp_pass = "smtp密码"
    msg = MIMEText(mail_body, "html", "utf-8")
    msg['Subject'] = Header(mail_title, "utf-8")
    msg['from'] = smtp_user
    msg['to'] = ";".join(dst_mail)

    for file in file_list:
        att = MIMEText(open(file,'r').read(), 'base64', 'utf-8')
        att['Content-Type'] = "application/octet-stream"
        att['Content-Disposition'] = "attachment; filename=\"" + os.path.basename(file) + "\""
        msg.attach(att)

    try:
        smtp = smtplib.SMTP_SSL(smtp_server, smtp_port, timeout = 30)
        smtp.login(smtp_user, smtp_pass)
        smtp.sendmail(smtp_user, dst_mail, msg.as_string())  
        smtp.quit()
    except Exception as e:
        print(e)

if __name__ == "__main__":
    send_mail(['a1@test.com', 'a2@test.com', 'test tile', 'test body'])

相关文章

网友评论

      本文标题:python 发送邮件

      本文链接:https://www.haomeiwen.com/subject/bpvhfktx.html