精华内容
下载资源
问答
  • 主要介绍了python 实现的发送邮件模板,包含Python发送普通邮件、带附件及带图片邮件相关实现技巧,需要的朋友可以参考下
  • 主要为大家详细介绍了python3实现带多张图片、附件的邮件发送,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • python邮件发送图片

    千次阅读 2020-11-25 17:55:07
    receivers, msgRoot.as_string()) print("邮件发送成功") except smtplib.SMTPException: print("Error: 无法发送邮件") ​ 对于定时任务来说太简单了,网上资料一大推还不带坑的那种。ply保存图片也是。
    ​        上班时间干别的事情是不太好的,如果被别人看到的话会很大程度上影响个人的前进的步伐。但是如果工作做的差不多了,那么闲着也是闲着。反正cpu资源浪费一天就是一天的折旧,那还不如多学点东西。我们之前的过程都需要点击运行,然后出来一个图。这种方式目标太大,容易被人发现。那么我们做个定时任务。然后把图片不显示,而是保存为图片。运营结束之后将图片放到邮件里,然后发送到手机。相对短信需要花费金钱来说,邮件最好了。
           ​通过摸索实践,作者实现了发送邮件的功能。

    import time

    from PIL import ImageGrab
    import smtplib
    from email.mime.image import MIMEImage
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from email.header import Header

    endDate=time.strftime('%Y-%m-%d',time.localtime(time.time()))
    # img = ImageGrab.grab()
    # img.save('E:\\12.png')
    my_sender = '123@qq.com' # 发件人邮箱账号
    my_pass = 'tmugmde3333ad' # 发件人邮箱密码
    my_user = '123@qq.com' # 收件人邮箱账号,我这边发送给自己
    sender = “123@qq.com”
    receivers = ['123@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
    msgRoot = MIMEMultipart('related')
    msgRoot['From'] = Header(str(endDate)+" 大盘趋势", 'utf-8')
    msgRoot['To'] = Header("测试", 'utf-8')
    subject = str(endDate)+' 趋势'
    msgRoot['Subject'] = Header(subject, 'utf-8')

    msgAlternative = MIMEMultipart('alternative')
    msgRoot.attach(msgAlternative)

    mail_msg = """
    <p>大盘趋势</p>
    <p>图片演示:</p>
    <p><img src="cid:image1"></p>
    """
    msgAlternative.attach(MIMEText(mail_msg, 'html', 'utf-8'))

    # 指定图片为当前目录
    fp = open('E:\\12.png', 'rb')
    msgImage = MIMEImage(fp.read())
    fp.close()

    # 定义图片 ID,在 HTML 文本中引用
    msgImage.add_header('Content-ID', '<image1>')
    msgRoot.attach(msgImage)

    try:
        smtpObj = smtplib.SMTP()
        smtpObj.connect('smtp.qq.com', 25) # 25 为 SMTP 端口号
        smtpObj.login(my_user,my_pass)
        smtpObj.sendmail(sender, receivers, msgRoot.as_string())
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("Error: 无法发送邮件")



    对于定时任务来说太简单了,网上资料一大推还不带坑的那种。ply保存图片也是。
    展开全文
  • 1、邮件发送原理 发送方发送的信件内容经过SMPT协议上传到smpt服务器,转送给远方的smpt服务器,存储到存储设备,然后通过POP/IMAP协议从pop服务器上获取内容发给接收方。 2、常用服务器的名称、地址与端口: ...

    1、邮件发送原理

           发送方发送的信件内容经过SMPT协议上传到smpt服务器,转送给远方的smpt服务器,存储到存储设备,然后通过POP/IMAP协议从pop服务器上获取内容发给接收方。

    2、常用服务器的名称、地址与端口:

    3、使用qq邮箱发送邮件,需要在QQ邮件客户端进行配置:“设置”----“账户”,开启对应服务

         POP3和IMAP的区别:POP3在客户端邮箱中所做的操作不会反馈到邮箱服务器,IMAP则会反馈到邮箱服务器,会做相应的操作

    4、代码样例

          python提供了smtplib、poplib与imaplib库,这些库可帮助我们接收发邮件。本部分利用smtplib库实现邮件发送,主要用smtplib.SMTP()类,用于连接SMTP服务器,发送邮件。

    # coding:utf-8
    import smtplib
    from email.mime.text import MIMEText
    import time
    
    from email.mime.multipart import MIMEMultipart
    from email.header import Header
    from email import encoders
    from email.mime.base import MIMEBase
    from email.utils import parseaddr, formataddr
    
    from email.mime.image import MIMEImage
    
    def SendMail(sender,receivers,cc_mail,mail_pass,content,file,image):
        # 第三方 SMTP 服务
        mail_host = "smtp.qq.com"  # 设置服务器
    
        #message = MIMEText(content, 'plain', 'utf-8')#正文内容   plain代表纯文本
    
        # 构造一个MIMEMultipart对象代表邮件本身
        message= MIMEMultipart()
        message.attach(MIMEText(content, 'html', 'utf-8'))# 正文内容   plain代表纯文本,html代表支持html文本
    
        message['From'] =sender
        message['To'] = ','.join(receivers) #与真正的收件人的邮箱不是一回事
        message['Cc']=','.join(cc_mail)
    
        subject = 'Python自动邮件-%s' % time.ctime()
        message['Subject'] = subject  #邮件标题
    
        #添加文件到附件
        with open(file,'rb') as f:
            # MIMEBase表示附件的对象
            mime = MIMEBase('text', 'txt', filename=file)
            # filename是显示附件名字
            mime.add_header('Content-Disposition', 'attachment', filename=file)
            # 获取附件内容
            mime.set_payload(f.read())
            encoders.encode_base64(mime)
            # 作为附件添加到邮件
            message.attach(mime)
    
        with open(image, 'rb') as f:
            #图片添加到附件
            mime = MIMEBase('image', 'image', filename=image)
            mime.add_header('Content-Disposition', 'attachment', filename=image)
            mime.set_payload(f.read())
            encoders.encode_base64(mime)
            message.attach(mime)
    
         #将图片显示在正文
        with open(image, 'rb') as f:
            #图片添加到正文
            msgImage = MIMEImage(f.read())
            # 定义图片ID
        msgImage.add_header('Content-ID', '<image1>')
        message.attach(msgImage)
    
    
    
        try:
            smtpObj = smtplib.SMTP_SSL(mail_host, 465)
            smtpObj.login(sender, mail_pass)
            smtpObj.sendmail(sender, receivers+cc_mail, str(message))  #message.as_string()
            smtpObj.quit()
            print u"邮件发送成功"
        except smtplib.SMTPException, e:
            print e
    
    
    if __name__ == "__main__":
        sender = 'XXXXXX@qq.com' #用户名与发送方
        receivers = ['YYYYYY@qq.com','ZZZZZZ@139.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
        cc_mail=['PPPPPP@qq.com'] #抄送人
    
        # 口令,QQ邮箱是输入授权码,在qq邮箱设置 里用验证过的手机发送短信获得,不含空格
        mail_pass = "iwbhitiyrhbfiecg"
    
        content='''抢到票,速度登录12306付款
                <h1>测试</h1>
                <h2 style="color:red">仅用于测试</h1>
                <a href="http://www.runoob.com/python/python-email.html">菜鸟教程</a><br>
                <p>图片演示:</p>
                <p><img src="cid:image1"></p>
              '''
        file='Fx1.txt'
        image='language.jpg'
        SendMail(sender,receivers,cc_mail,mail_pass,content,file,image)

     

    展开全文
  • 简单邮件发送 # coding=utf-8 import smtplib from email.mime.text import MIMEText # 配置邮箱信息 sender = 'xxxxxx@qq.com' # 发件人的地址 password = 'xxxxxxxxx' # 此处是我们刚刚在邮箱中获取的授权码 ...

    生成QQ邮箱授权码

    点击开启,然后按照提示短信验证即可。PS:友情提示,珍爱生命,远离网易163…
    在这里插入图片描述

    简单邮件发送

    # coding=utf-8
    import smtplib
    from email.mime.text import MIMEText
    
    # 配置邮箱信息
    sender = 'xxxxxx@qq.com'  # 发件人的地址
    password = 'xxxxxxxxx'  # 此处是我们刚刚在邮箱中获取的授权码
    receivers = 'xxxxxx@163.com'  # 邮件接受方邮箱地址,可以配置多个,实现群发,注意这里要是字符串
    
    # 邮件内容设置
    message = MIMEText('你好呀,这是来自QQ邮箱的信息--from python发送~!', 'plain', 'utf-8')
    
    # 邮件标题设置
    message['Subject'] = 'Python企鹅问候-2'
    
    # 发件人信息
    message['From'] = sender
    
    # 收件人信息
    message['To'] = receivers
    
    # 通过授权码,登录邮箱,并发送邮件
    try:
        server = smtplib.SMTP('smtp.qq.com')  # 配置QQ邮箱的smtp服务器地址
        server.login(sender, password)
        server.sendmail(sender, receivers.split(','), message.as_string())
        print('发送成功')
        server.quit()
    
    except smtplib.SMTPException as e:
        print('error', e)
    

    我的网易163邮箱成功收取到对应的内容
    在这里插入图片描述

    邮件内容格式化

    有一些时候,我们需要对邮件内容做一些美化,比如加粗,标注颜色等,这个时候我们就需要用到格式化的一些功能,代码如下:

    # coding=utf-8
    import smtplib
    from email.mime.text import MIMEText
    
    # 配置邮箱信息
    sender = 'xxxxxxxxx@qq.com'  # 发件人的地址
    password = 'xxxxxxxxx'  # 此处是我们刚刚在邮箱中获取的授权码
    receivers = 'xxxxxxxxx@163.com'  # 邮件接受方邮箱地址,可以配置多个,实现群发,注意这里要是字符串
    
    # 邮件内容设置
    message = msg = MIMEText(
        "<html><h2>努力赚钱才是正经事,穷人的精力更多是在思考如何生活,富人才有精力享受生活。比如,她晚上邀你去她家做客,没钱的人或许会因为心疼打车钱而止步,有钱的人只会因为正在另一位姑娘家做客而拒绝。</h2>"
        "<br>"
        "<a href='https://blog.csdn.net/zcm545186061'>我的CSDN</a></html>"
        "<br>"
        "<font color='red' size='10'>这是红色字体</font>",
        _subtype="html", _charset="utf-8")
    
    # 邮件标题设置
    message['Subject'] = 'python使用HTML语法格式发送邮件内容'
    
    # 发件人信息
    message['From'] = sender
    
    # 收件人信息
    message['To'] = receivers
    
    # 通过授权码,登录邮箱,并发送邮件
    try:
        server = smtplib.SMTP('smtp.qq.com')  # 配置QQ邮箱的smtp服务器地址
        server.login(sender, password)
        server.sendmail(sender, receivers.split(','), message.as_string())
        print('发送成功')
        server.quit()
    
    except smtplib.SMTPException as e:
        print('error', e)
    

    简单的说明下HTML语法的意思
    h2:字体标题h2
    br:换行
    a href:超链接
    font:设置字体大小和颜色等

    在这里插入图片描述

    发送附件(图片、Excel、压缩文件等)

    # coding=utf-8
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.mime.image import MIMEImage
    from email.mime.application import MIMEApplication
    
    # 配置邮箱信息
    sender = '545186061@qq.com'  # 发件人的地址
    password = 'ucpjszogfwbsbfhh'  # 此处是我们刚刚在邮箱中获取的授权码
    receivers = 'scrapy_zhang@163.com'  # 邮件接受方邮箱地址,可以配置多个,实现群发,注意这里要是字符串
    
    # 邮件内容设置
    content = MIMEText("<html><h2>发送图片、EXcel、PDF等附件测试...</h2>", _subtype="html", _charset="utf-8")
    msg = MIMEMultipart('related')
    msg.attach(content)
    
    # 添加图片附件
    imageFile = r"C:\Users\Administrator\Desktop\boy.png"
    imageApart = MIMEImage(open(imageFile, 'rb').read(), imageFile.split('.')[-1])
    imageApart.add_header('Content-Disposition', 'attachment', filename=imageFile)
    msg.attach(imageApart)
    
    # 添加Excel附件
    excelFile = r'C:\Users\Administrator\Desktop\top100电影.xlsx'
    excelApart = MIMEApplication(open(excelFile, 'rb').read())
    excelApart.add_header('Content-Disposition', 'attachment', filename=excelFile)
    msg.attach(excelApart)
    
    # 邮件标题设置
    msg['Subject'] = 'python发送附件测试-图片、Excel'
    
    # 发件人信息
    msg['From'] = sender
    
    # 收件人信息
    msg['To'] = receivers
    
    # 通过授权码,登录邮箱,并发送邮件
    try:
        server = smtplib.SMTP('smtp.qq.com')  # 配置QQ邮箱的smtp服务器地址
        server.login(sender, password)
        server.sendmail(msg['From'], msg['To'].split(','), msg.as_string())
        print('发送成功')
        server.quit()
    
    except smtplib.SMTPException as e:
        print('error', e)
    

    在这里插入图片描述

    展开全文
  • CTEmail 的全称是Charts and Text Email,是一个发送带有图表[注意:图片不是在附件里!!!]邮件的简单粗暴的脚本。
  • 主要为大家详细介绍了python3.5 email实现发送邮件功能,包含txt、图片、HTML、附件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了python邮件发送smtplib的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 本篇文章主要介绍了Python中Django发送图片和附件的邮件 ,非常具有实用价值,需要的朋友可以参考下。
  • Python邮件发送测试运维报警必备,邮件报警,发送普通文本是没有问题,我们要发送文档,图片呢?可不可以发个图片
  • python通过win32api调用oulook接口,进行邮件发送(带附件)。需要系统对应的包 https://sourceforge.net/projects/pywin32/files/pywin32/
  • 主要介绍了Python基于SMTP协议实现发送邮件功能,结合实例形式分析了Python使用SMTP协议实现邮件发送的相关操作技巧,并总结分析了Python发送纯文本邮件、邮件附件、图片邮件等相关操作技巧,需要的朋友可以参考下
  • /usr/bin/python# -*- coding: utf-8 -*- import emailimport mimetypesfrom email.MIMEMultipart import MIMEMultipartfrom email.MIMEText import MIMETextfrom email.MIMEImage import MIMEImageimport smtplib ...
  • 好久没有写博客了,正好今天有时间把前几天写的利用python定时发送QQ邮件记录一下 1、首先利用request库去请求数据,天气预报使用的是和风天气的API(www.heweather.com/douments/api/s6/weather-forecast) 2、利用...
  • 公司项目中需要通过...这样极大的提高了邮件发送速度,保证良好的用户体验效果。 但是,在通过python发送邮件,却遇到了乱码的问题。在调试过程中出现了以下现象: 1、中文与英文字母结合出现乱码。 2、回复邮件人的
  • Python 简单发送邮件 / 发送带各种附件邮件

    万次阅读 多人点赞 2018-06-04 13:55:05
    写个自动发送邮件python脚本。 用脚本发送邮件思路是:登陆邮箱-->写邮件-->发送邮件 发送邮箱设置: 得开通自己邮箱的 SMTP 功能,具体可百度。 以163网易邮箱为例: 设置 --> POP3/SMTP/IMAP --&...

    写个自动发送邮件的python脚本。

    用脚本发送邮件思路是:登陆邮箱-->写邮件-->发送邮件

    发送邮箱设置:

    得开通自己邮箱的 SMTP 功能,具体可百度。

    以163网易邮箱为例: 设置 -->  POP3/SMTP/IMAP  -->  设置POP3/SMTP/IMAP 勾选保存

    一、发送简单邮件:

    用STMP库

    import smtplib
    #发送字符串的邮件
    from email.mime.text import MIMEText
    #处理多种形态的邮件主体我们需要 MIMEMultipart 类
    from email.mime.multipart import MIMEMultipart
    #处理图片需要 MIMEImage 类
    from email.mime.image import MIMEImage
    
    #设置服务器所需信息
    fromaddr = '137xxx@163.com'#邮件发送方邮箱地址
    password = 'zzz'#密码(部分邮箱为授权码) 
    toaddrs = ['137xxx@163.com', '137xxxxx@qq.com']#邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发
    
    
    #设置email信息
    #---------------------------发送字符串的邮件-----------------------------
    #邮件内容设置
    message = MIMEText('hello,ziqiiii','plain','utf-8')
    #邮件主题       
    message['Subject'] = 'ziqiiii test email' 
    #发送方信息
    message['From'] = sender 
    #接受方信息     
    message['To'] = receivers[0]  
    #---------------------------------------------------------------------
    
    
    #登录并发送邮件
    try:
        server = smtplib.SMTP('smtp.163.com')#163邮箱服务器地址,端口默认为25
        server.login(fromaddr,password)
        server.sendmail(fromaddr, toaddrs, message.as_string())
        print('success')
        server.quit()
    
    except smtplib.SMTPException as e:
        print('error',e) #打印错误

     

    二、发送各种带附件的邮件

    使用MIMEMultipart来标示这个邮件是多个部分组成的,然后attach各个部分。如果是附件,则add_header加入附件的声明。

    MIME有很多种类型,这个略麻烦,如果附件是图片格式,我要用MIMEImage,如果是音频,要用MIMEAudio,如果是word、excel,我都不知道该用哪种MIME类型了,得上google去查。

    最懒的方法就是,不管什么类型的附件,都用MIMEApplication,MIMEApplication默认子类型是application/octet-stream。

    import smtplib
    from email.mime.text import MIMEText
    from email.mime.image import MIMEImage
    from email.mime.multipart import MIMEMultipart
    from email.mime.application import MIMEApplication 
    
    if __name__ == '__main__':
            fromaddr = '137xxxx@163.com'
            password = 'password'
            toaddrs = ['137xxxx@163.com', '137xxxx@qq.com']
    
            content = 'hello, this is email content.'
            textApart = MIMEText(content)
    
            imageFile = '1.png'
            imageApart = MIMEImage(open(imageFile, 'rb').read(), imageFile.split('.')[-1])
            imageApart.add_header('Content-Disposition', 'attachment', filename=imageFile)
    
            pdfFile = '算法设计与分析基础第3版PDF.pdf'
            pdfApart = MIMEApplication(open(pdfFile, 'rb').read())
            pdfApart.add_header('Content-Disposition', 'attachment', filename=pdfFile)
        
    
            zipFile = '算法设计与分析基础第3版PDF.zip'
            zipApart = MIMEApplication(open(zipFile, 'rb').read())
            zipApart.add_header('Content-Disposition', 'attachment', filename=zipFile)
    
            m = MIMEMultipart()
            m.attach(textApart)
            m.attach(imageApart)
            m.attach(pdfApart)
            m.attach(zipApart)
            m['Subject'] = 'title'
    
            try:
                server = smtplib.SMTP('smtp.163.com')
                server.login(fromaddr,password)
                server.sendmail(fromaddr, toaddrs, m.as_string())
                print('success')
                server.quit()
            except smtplib.SMTPException as e:
                print('error:',e) #打印错误
    

     

     

     

     

     

    参考自:

    1.简单三步,用python发邮件

    2.飘逸的python - 发送带各种类型附件的邮件

    3.python收发邮件(demo)--smtplib--poplib

    展开全文
  • 本文实例为大家分享了Python实现发送QQ邮件的封装代码,供大家参考,具体内容如下 封装code import smtplib from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart from email....
  • 根据zabbix的告警信息从zabbix中获取对应图像,生成邮件发送到对应的邮箱,企业使用
  • 主要为大家详细介绍了python2.7实现邮件发送功能包,含文本、附件、正文图片等,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 今天先来简单的说下Python发送邮件 本文首发于伊洛的个人博客:https://yiluotalk.com,欢迎关注并查看更多内容!!! 2. Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,...
  • python3发送带多张图片、附件的邮件

    千次阅读 2019-04-11 16:54:23
    python3发送带多张图片、附件的邮件 话不多说,直接上代码,没有注释! from email.mime.text import MIMEText from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart from email...
  • Python实现自动发送邮件(详解)

    千次阅读 多人点赞 2020-12-16 12:21:21
    Python实现自动发送邮件 1.开启SMTP服务 为了实现自动发送邮件的目的,我们需要在邮箱中开启SMTP服务: 这点很关键,别忘了去开启SMTP, 别忘了去开启SMTP,否则邮件是无法发送成功的 。然后你还需要点击下面生成...
  • python发送正文和附件带图片邮件 MIMEImage 内容形式为图片 import smtplib #发邮件smtplib #发送文本内容用email.mime.text模块 #MIMEText:内容形式为纯文本、HTML页面 #MIMEImage:内容形式为图片 #...
  • 本文中Part 0 + 中间任何一Part 或组合 + Part 6, 即可将内容正常发送到QQ邮箱。本文使用个人电脑和个人邮箱,对代码进行了测试,可以正常运行。非常感谢诸位网友的共享,在写代码的过程中给了我很大的帮助,如果...
  • Python - 发送图片邮件

    千次阅读 2017-04-28 17:48:48
    使用python发送图片邮件 设置邮件为多文本格式 MIMEMultipart('related') 编写html格式内容包含图片信息 msgHtmlImg = '<img src="cid:image{count}"><br>' MIMEText(msgHtmlImg, 'html') 读取图片并添加邮件头 ...
  • 为了更好的理解邮件发送功能的实现,要先了解邮件发送系统的大致流程。首先 电子邮件之间的相互发送接受就像 邮局邮件发送一样,从一个站点(邮件发送服务器)到目的地站点(邮件接收服务器),然后目的地站点处理...
  • 平时处理完数据后可能需要发送邮件,而格式一般都是定式的,每次手动发虽然不是很麻烦,但能省事还是省事,在网上找了很多资料发现一篇文章写得比较好,这里就直接使用了。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,047
精华内容 6,818
关键字:

python邮件发送图片

python 订阅