python发邮件图片太长显示不出来_Python 发送多图邮件为什么只显示第一张?

该博客探讨了使用Python发送包含多张图片的邮件时,遇到只显示第一张图片的问题。通过示例代码展示了如何构造MIMEMultipart消息,添加多个MIMEImage附件,但指出可能存在的显示限制。解决方案可能涉及邮件客户端的兼容性和图片编码方式。
摘要由CSDN通过智能技术生成

展开全部

#coding=utf-8

62616964757a686964616fe58685e5aeb931333337613862'''

create this file

Make it easier to maintain

'''

MailList =  {'ablhy' :        ['Yeah2015'],

'test' :        ['testformail'],

}

def send(text, to, subject, imgpath="no"):

import smtplib

from email.Header import Header

from email.MIMEMultipart import MIMEMultipart

from email.MIMEBase import MIMEBase

from email.MIMEText import MIMEText

from email.MIMEImage import MIMEImage

from email.Utils import COMMASPACE, formatdate

from email import Encoders

assert type(to)==list

#fro: 发邮件人的Email, server :mail server ..

fro = "xx.xx.xx.xx"

server="xx.xx.xx.xx"

msg = MIMEMultipart()

To = to

msg['From'] = fro

msg['To'] = COMMASPACE.join(To)

msg['Date'] = formatdate(localtime=True)

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

#文本内容

msg.attach( MIMEText(text,'html', 'utf-8'))

#附件:两图片

msg.attach(MIMEImage(open("./test.jpg",'rb').read()))

msg.attach(MIMEImage(open("./testpng.png",'rb').read()))

if (imgpath != "no"):

f = open(imgpath, 'rb')

msgImage = MIMEImage(f.read())

f.close()

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

msg.attach(msgImage);

smtp = smtplib.SMTP(server)

smtp.sendmail(fro, To, msg.as_string() )

smtp.close()

def sendEmail(text, to, subject, imgpath='no'):

if MailList.has_key(to):

send(text, MailList[to], subject, imgpath)

else:

send(text, MailList['test'], subject, imgpath)

#测试

if __name__ == '__main__':

sendEmail('Test', 'ablhy', '删除日志提醒');

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值