python郵件發送:普通文本、html、添加附件


# -*- coding: utf-8 -*-
# @Time    : 2019/9/19 13:46
# @Author  : HuangWenjun
# @Email   : 350920551@qq.com
# @File    : send_mail.py
# @Software: PyCharm
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText
import smtplib
def sendEmail(subject, mail_body, receiver, file_names=list()):
    """
    :param subject: 郵件標題
    :param mail_body: 郵件正文,可以是文字,也可以是html格式
    :param receiver: 郵件正文
    :param file_names: 郵件接收人
    :return:
    """
    smtpserver = 'smtp.exmail.qq.com' #smtp設置
    username = 'xxx' #用戶登陸賬號
    password = 'xxx' #用戶登陸密碼

    msg = MIMEMultipart()
    #郵件正文
    msg.attach(MIMEText(mail_body, 'plain', 'utf-8'))
    msg['Subject'] = Header(subject, 'utf-8')
    msg['From'] = username 
    msg['To'] = receiver

    #附件:附件名稱用英文
    for file_name in file_names:
        att = MIMEText(open(file_name, 'rb').read(), 'base64', 'utf-8')
        att["Content-Type"] = 'application/octet-stream'
        att['Content-Disposition'] = 'attachment;filename="%s"' % (file_name)
        msg.attach(att)
        
        # 登錄並發送郵件
    try:
        smtp = smtplib.SMTP()
        smtp.connect(smtpserver)
        smtp.login(username, password)
        smtp.sendmail(sender, receiver.split(','), msg.as_string())
    except Exception as e:
        print(e)
        print("郵件發送失敗!")
    else:
        print("郵件發送成功!")
    finally:
        smtp.quit()


if __name__ == '__main__':
    subject="測試標題"
    mail_body="測試本文"
    receiver="郵箱1,郵箱2" #接收人郵件地址 用逗號分隔
    file_names=['文件名稱']
    sendEmail(subject, mail_body, receiver,file_names)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM