python3 发送qq邮件带图片

# -*- coding: utf-8 -*-
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage

def send():
    sender = '***@qq.com'
    receivers = '***@qq.com'
    message =  MIMEMultipart('related')
    subject = '终于能发图片了'
    message['Subject'] = subject
    message['From'] = sender
    message['To'] = receivers
    content = MIMEText('<html><body><img src="cid:imageid" alt="imageid"></body></html>','html','utf-8')
    message.attach(content)

    file=open("test.png", "rb")
    img_data = file.read()
    file.close()

    img = MIMEImage(img_data)
    img.add_header('Content-ID', 'imageid')
    message.attach(img)

    try:
        server=smtplib.SMTP_SSL("smtp.qq.com",465)
        server.login(sender,"填写qq邮箱的授权码")
        server.sendmail(sender,receivers,message.as_string())
        server.quit()
        print ("邮件发送成功")
    except smtplib.SMTPException as e:
        print(e)
send()

1、test.png和该python脚本在同一文件夹下,主要给图片设置一个id,用MIMEImage读取流,在attache到邮件中就可以了
2、需要在qq邮箱中申请一个授权码
在设置→账户中
这里写图片描述
相关阅读推荐:
什么是STMP?
什么是POP3?
什么是IMAP?
http://help.163.com/09/1223/14/5R7P6CJ600753VB8.html
简单认识,STMP简单邮件传输协议,就是用来发邮件的
POP3和IMAP是用来接收邮件的,但是pop3的操作,不会发送到邮件服务器中,IMAP的操作是会更新到服务器。
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值