Python SMTP邮件发送

带发送图片跟a标签的实例,以QQ邮箱为例
效果图:
在这里插入图片描述

注意点:

  • multipart类型的选择(alternative、related)

代码展示:

#!python3
#coding:utf-8
#multipart类型主要有三种子类型:mixed/附件、alternative/超文本、related/内嵌资源pic

import smtplib,time
from email.mime.image import MIMEImage  #生成包括多个部分的邮件体
from email.mime.multipart import MIMEMultipart #创建包含音频数据的邮件体
from email.mime.text import MIMEText  #文件格式
from email.header import Header

for i in range(1):
    time.sleep(1)
    time_str=time.strftime('%Y/%m/%d %H:%M:%S', time.localtime(time.time()))


    fromMail = 'xxxx@qq.com'  #验证信息
    verif = 'xxxxx'     #需要发短信开启smtp服务
    toMail = 'xxxx@qq.com'

    msg = MIMEMultipart('related')  #图片
    msg['From'] = Header('Noc','utf-8')#header 头部信息定义
    msg['To'] = Header('Noc','utf-8')
    subject = 'Python SMTP '+ time_str
    msg['Subject'] = Header(subject, 'utf-8')

    msgAlternative = MIMEMultipart('alternative')#超文本
    msg.attach(msgAlternative)

    #文本信息
    mail_msg = """
    <p>Python 邮件发送测试...</p>
    <p><a href="http://www.hao123.com">hao123</a></p>
    <p>图片演示</p>
    <p><img src="cid:image1"></p>
    """
    msgAlternative.attach(MIMEText(mail_msg,'html','utf-8'))

    #指定本地图片
    pic = open('test.png','rb')
    msgImage = MIMEImage(pic.read())
    pic.close()

    #定义图片 id,在HTML文本中引用
    msgImage.add_header('Content-ID','<image1>')
    msg.attach(msgImage)
    
    try:
        smtpObj = smtplib.SMTP('smtp.qq.com', 25)
        smtpObj.ehlo()  #服务器问好
        smtpObj.starttls() #TLS 加密
        smtpObj.login(fromMail, verif)
    
        smtpObj.sendmail(fromMail, toMail, msg.as_string())
        print('邮件发送成功 ' + time_str)
    
    except smtplib.SMTPException:
        print('Error:邮件发送失败 '+ time_str)

    smtpObj.quit()


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值