Python发送QQ邮件

# coding=utf-8
import logging
import smtplib  # 引入SMTP协议包
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart  # 创建包含多个部分的邮件体
from email.mime.image import MIMEImage
# from concurrent.futures import ThreadPoolExecutor
# from tools_me.parameter import DIR_PATH

# msg_to = "987654321@qq.com"  # 收件人邮箱


def send(context, pic_list, msg_to):
    msg_from = "123456789@qq.com"  # 发送方邮箱
    passwd = "############"  # 填入发送方邮箱的授权码
    subject = "测试主题"  # 主题
    msg = MIMEMultipart('related')
    image_tent = ""
    #在邮件中添加图片
    for i in range(len(pic_list)):
        image_tent += '<img src="cid:' + str(i) + '" alt="' + str(i) + '">'

    content = MIMEText('<html><body><div>' + context + '</div>' + image_tent + '</body></html>',
                       'html', 'utf-8')  # 正文

    msg.attach(content)
    msg['Subject'] = subject
    msg['From'] = msg_from
    msg['To'] = msg_to

    index = 0
    for pic in pic_list:
        file = open(pic, "rb")
        img_data = file.read()
        file.close()
        img = MIMEImage(img_data)
        imgid = str(index)
        img.add_header('Content-ID', imgid)
        msg.attach(img)
        index += 1
    #服务器在国外网络不佳,使用循环发送(国内正常发送即可)
    send_num = 0
    while send_num < 100:
        try:
            s = smtplib.SMTP_SSL("smtp.qq.com", 465)  # 邮件服务器及端口号
            s.login(msg_from, passwd)
            s.sendmail(msg_from, msg_to, msg.as_string())
            break
        except Exception as e:
            logging.error(e)
            continue
        finally:
            send_num += 1
    return True


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值