python3通过qq邮箱发送邮件以及附件

1.开启qq邮箱的smtp服务在这里插入图片描述
代码:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart


def Mailer(to_list,th1=None,Subject=None,unipath=None):

    mail_host = 'smtp.qq.com'       # 邮箱服务器
    mail_user = 'dalu@qq.com'  # 发件人邮箱密码(当时申请smtp给的口令)
    mail_pwd = '***********'   # SMTP密码
    s = smtplib.SMTP_SSL(mail_host, 465,timeout=5)
    s.login(mail_user, mail_pwd)
	#邮件内容
    mail = str(th1)
    msg = MIMEMultipart()
    msgtext = MIMEText(mail.encode('utf8'), _subtype='html', _charset='utf8')
    msg['From'] = mail_user
    msg['Subject'] = Subject
    msg['To'] = ",".join(to_list)

    if unipath is not None:
        att1 = MIMEText(open(unipath, 'rb').read(), 'base64', 'gb2312')
        att1["Content-Type"] = 'application/octet-stream'
        att1.add_header('Content-Disposition', 'attachment',filename=(Subject+ '.xlsx'))
        msg.attach(att1)
    msg.attach(msgtext)
    try:
        s.sendmail(mail_user, to_list, msg.as_string())
        s.close()
        print('发送成功')
    except Exception as e:
        print(e)

to_list = [
	#多用户使用的list
    'dalu@qq.com',
]

Mailer(to_list,th1="这是要发的邮件内容",Subject='邮件标题',unipath=r'F:\test.xlsx')
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值