• 注册
当前位置:1313e > html >正文

python发送包含html、图片、附件和链接的邮件

1.smtplib模块的使用

smtplib库用来发送邮件。需要用到的函数如下:

连接到SMTP服务器,参数为SMTP主机和端口:
SMTP.connect([host[,port]])
登录SMTP服务器,参数为邮箱用户名和密码:
SMTP.login(user,password)
发送邮件。msg表示邮件内容:
SMTP.sendmail(from_addr, to_addrs, msg)
断开连接:
SMTP.quit()

2.邮件格式MIME介绍

最常见的MIME首部是以Content-Type开头的:

 

 1) Content-Type: multipart/mixed
它表明这封Email邮件中包含各种格式的MIME实体但没有具体给出每个实体的类型。

2) Content-Type: multipart/alternative
如果同一封Email邮件既以文本格式又以HTML格式发送,那么要使用Content-Type: multipart/alternative。这两种邮件格式实际上是显示同样的内容但是具有不同的编码。

3) Content-Type: multipart/related
用于在同一封邮件中发送HTML文本和图像或者是其他类似类型。

邮件主体的编码:

主要是包括quoted-printable与base64两种类型的编码。Base64和Quoted-Printable都属于MIME(多用途部分、多媒体电子邮件和 WWW 超文本)的一种编码标准,用于传送诸如图形、声音和传真等非文本数据)。

#!/usr/bin/python
#coding:utf-8
import smtplib
from email.Header import Header
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage

def sendMail(sender,receiver,subject):
    smtpserver = 'smtp.126.com'
    username = 'zhaohaihua1213'
    password = '123456'

    msg = MIMEMultipart('alternative')
    msg['Subject'] = Header(subject,'utf-8')

   

#html格式构造

     html =  """\
   
      测试一下
     
       

兄弟们!

           你们好啊

           点击进入 会计家园
          


       


     
   
    """
    htm = MIMEText(html,'html','utf-8')
    msg.attach(htm)

 

#构造图片

    fp = open('meinv.jpg','rb')
    msgImage = MIMEImage(fp.read())
    fp.close()

    msgImage.add_header('Content-ID','')
    msg.attach(msgImage)

 

#构造附件

    att = MIMEText(open('Pictures.rar','rb').read(),'base64','utf-8')
    att["Content-Type"] = 'application/octet-stream'
    att["Content-Disposition"] = 'attatchment;filename="Pictures.rar"'
    msg.attach(att)

    smtp = smtplib.SMTP()
    smtp.connect('smtp.126.com')
    smtp.login(username,password)
    smtp.sendmail(sender,receiver,msg.as_string())
    smtp.quit()

sender = 'zhaohaihua1213@126.com'
receiver = '903397616@qq.com'
subject = '图片附件html发送邮件测试'
sendMail(sender,receiver,subject)

转载于:https://www.cnblogs.com/chenjianhong/p/4144304.html

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录