python邮件之附件

接上文,python发附件

#!/usr/local/bin/python3.5
from email.mime.text import MIMEText
from smtplib import SMTP_SSL
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders

msg = MIMEText(‘hello,send by Python...‘,‘plain‘,‘utf-8‘)

mail_info = {
        ‘From‘:‘[email protected]‘,
        ‘Password‘:‘xxx‘,
        ‘To‘:‘[email protected]‘,
        ‘Mail_server‘:‘smtp.exmail.qq.com‘,
        ‘Mail_text‘:‘‘‘
        <html><body><h1>myblog</h1>  <p>send by <a href="http://www.cnblogs.com/changbo">Myblog</a>...</p>
        </body></html>
‘‘‘
}
if __name__ == ‘__main__‘:
        smtp = SMTP_SSL(mail_info[‘Mail_server‘])

        smtp.ehlo(mail_info[‘Mail_server‘])
        smtp.login(mail_info[‘From‘],mail_info[‘Password‘])

        msg = MIMEMultipart()
        msg[‘Subject‘] = ‘hello 白水寺‘
        msg[‘From‘] = mail_info[‘From‘]
        msg[‘To‘] = mail_info[‘To‘]

        msg.attach(MIMEText(mail_info[‘Mail_text‘],‘html‘,‘utf-8‘))
        with open(‘/root/2013.jpg‘,‘rb‘) as f:
                mime = MIMEBase(‘image‘,‘jpg‘,filename=‘2013.jpg‘)
                mime.add_header(‘Content-Disposition‘, ‘attachment‘, filename=‘2013.jpg‘)
                mime.add_header(‘Content-ID‘,‘<0>‘)
                mime.add_header(‘X-Attachment-Id‘, ‘0‘)
                mime.set_payload(f.read())
                encoders.encode_base64(mime)
                msg.attach(mime)

        smtp.sendmail(mail_info[‘From‘],mail_info[‘To‘],msg.as_string())
        smtp.quit()

注意: mime.add_header(‘Content-Disposition‘, ‘attachment‘, filename=‘2013.jpg‘)

mime.add_header(‘Content-ID‘,‘<0>‘)

    mime.add_header(‘X-Attachment-Id‘, ‘0‘)

这三行代码是必要的头信息,不要的话附件后缀会是bin,需要手动更改附件后缀

如图,未加效果如下,该后缀文件不可直接在browser中预览:

加上附件相关必要的头信息后,效果如下,可直接在browser中预览:

预览效果图:

END!

时间: 2024-10-15 04:08:42

python邮件之附件的相关文章

今天玩一下python得邮件解析吧,查看邮件内容小儿科,我们下载邮件的附件

直男,直接上代码. 自己看打印的内容 主要功能如下: #如果邮件内容存在链接则返回链接,若不存在则直接下载邮件附件 1 import imapclient,re 2 import pyzmail 3 4 5 #提取邮件里面的链接 6 def getDowmlodUrl(): 7 url = None 8 #这里是腾讯企业邮箱,其他的自行百度 9 imapObj = imapclient.IMAPClient('imap.exmail.qq.com',ssl=True) 10 #邮箱和密码 11

python邮件发送脚本

转自:http://phinecos.cnblogs.com/ 1 #!/usr/bin/python 2 #coding=utf-8 3 4 #@author:dengyike 5 #@date:2010-09-28 6 #@version:1.0 7 #@description: auto sending email with attachment file 8 9 import email 10 import mimetypes 11 from email.MIMEMultipart im

邮件发送+附件

package cn.itcast.javamail; import java.io.File; import java.io.IOException; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message.RecipientType; import javax.mail.MessagingException; import javax.mail.PasswordAuthen

Java Mail---SMTP协议-Java发邮件(带附件)演示过程

转载请注明出处: http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] JavaMail-API简介: 邮件客户端的主要任务是向邮件服务器发送邮件,以及接收来自邮件服务器的邮件. Sun公司制定了一套API,它封装了邮件通信的各种协议.为Java开发者提供了收发电子邮件的公共接口. 需要的jar包 mail.jar和activation-1.1.0.jar链接: https://github.com/chenhaoxiang/Java/tree/ma

1.3windows命令行下使用blat发邮件带附件

windows命令行bat批处理脚本的应用之blat程序自动发邮件1.3windows命令行下使用blat发邮件带附件__游旗丶引莫(孙忠) 发邮件脚本模板 rem ----邮件内容-----set body="test mail" rem ----邮件主题----set s="测试test"rem ----收件邮箱-----set [email protected]rem ----发件邮箱-----set [email protected]rem ----邮箱秘钥

CIO应该了解的企业级邮件超大附件解决方案

随着企业数字化转型的逐步深入,企业所产生的业务数据体量也越来越大,需要在企业内部或企业与合作伙伴之间进行的数据交换体量也越来越大.员工传统上习惯于通过邮件的方式发送文件,但当遇到要发送大体量业务数据的时候,邮件往往就无能为力了. 企业在使用邮件附件时,经常遇到的问题 1.常规的邮件系统对于附件大小都有限制,一般为20M~50M,过大的邮件员工无法发送.2.有些邮箱可以提供内置扩展的大附件功能,但一般最多为1G~2G,当有更大需求的时候无法满足.3.当附件限额较大时,对邮件服务器性能压力急剧增多,

Zabbix 配置Python邮件告警(3)

title: Zabbix 配置Python邮件告警(3) date: 2018-12-10 09:34:07 tags: Zabbix categories: Zabbix copyright: true --- Zabbix是一个非常强大的监控系统,是企业级的软件,来监控IT基础设施的可用性和性能.它是一个能够快速搭建起来的开源的监控系统,Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题,Zabbix系统几乎可用于任何系统

Python发送带附件的SMTP邮件

利用python的email模块可以很方便的发送邮件,你甚至可以在邮件中附上附件!前提是你的邮箱开启了SMTP服务(一般都开启了,如果没有开启,可以到你的邮箱中进行设置),你可以把收件人和发件人都写成一个邮箱来进行测试,这样就是自己给自己发邮件. #coding: utf-8 import smtplib from email.mime.multipart import MIMEMultipart#python2.4及之前版本该模块不是这样调用的,而是email.MIMEMultipart.MI

Python批量发邮件--加附件/抄送

# !/usr/bin/env python # -*- coding: UTF-8 -*- import csv from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.application import MIMEApplication from email.utils import COMMASPACE, formatdate from email