精华内容
下载资源
问答
  • python使用smtplib和MIMEText发送邮件 ...

    python使用smtplib和MIMEText发送邮件

    原创
    2018/10/07 10:17
    阅读数 4.2W
                                                                                            </div>
    
                                                        <div class="article-box__content">
                                                                                                <div class="detail-box">
                                    <div class="article-detail">
                                        <div class="content">
                                                                                                                                                                                        <blockquote> 
    

    本章以qq为例,使用前先在邮箱-设置-账户-开通POP3/SMTP服务,需要发送手机验证码,返回一个授权码

     

    代码

    import smtplib
    from email.mime.text import MIMEText
    def sendmail(subject, content):
        email_host = 'smtp.qq.com'     # 发送者是qq邮箱
        email_user = '你填写授权码的qq邮箱@qq.com'  # 发送者账号
        email_pwd = '你的授权码'       # 发送者密码
        maillist ='你的接受者账号@qq.com'    # 接收者账号,本来想写成[]list的,但是报错,还没解决!
        me = email_user
    
    msg = MIMEText(content, <span class="hljs-string">'html'</span>, <span class="hljs-string">'utf-8'</span>)    <span class="hljs-comment"># 邮件内容,三个参数:第一个为文本内容,第二个 html 设置文本格式,第三个 utf-8 设置编码</span>
    msg[<span class="hljs-string">'Subject'</span>] = subject    <span class="hljs-comment"># 邮件主题</span>
    msg[<span class="hljs-string">'From'</span>] = me    <span class="hljs-comment"># 发送者账号</span>
    msg[<span class="hljs-string">'To'</span>] = maillist    <span class="hljs-comment"># 接收者账号列表(列表没实现)</span>
    
    smtp = smtplib.SMTP(email_host) <span class="hljs-comment"># 如上变量定义的,是qq邮箱</span>
    smtp.login(email_user, email_pwd)   <span class="hljs-comment"># 发送者的邮箱账号,密码</span>
    smtp.sendmail(me, maillist, msg.as_string())    <span class="hljs-comment"># 参数分别是发送者,接收者,第三个不知道</span>
    smtp.quit() <span class="hljs-comment"># 发送完毕后退出smtp</span>
    <span class="hljs-keyword">print</span> (<span class="hljs-string">'email send success.'</span>)
    

    sendmail(‘主题’, ‘内容’) # 调用发送邮箱的函数

    demo1.py

    # smtp =>simple mail transfer protocol  简单邮件传输协议
    import smtplib
    import email  # 文件名不可以和引入的库同名
    from email.mime.image import MIMEImage  # 图片类型邮件
    from email.mime.text import MIMEText  # MIME 多用于邮件扩充协议
    from email.mime.multipart import MIMEMultipart  # 创建附件类型
    

    HOST = ‘smtp.qq.com’ # 调用的邮箱借借口
    SUBJECT = ‘发送了一封测试邮件’ # 设置邮件标题
    FROM = ‘你的授权码邮箱@qq.com’ # 发件人的邮箱需先设置开启smtp协议
    TO = ‘发送者qq邮箱@qq.com’ # 设置收件人的邮箱(可以一次发给多个人,用逗号分隔)
    message = MIMEMultipart(‘related’) # 邮件信息,内容为空 #相当于信封##related表示使用内嵌资源的形式,将邮件发送给对方

    def sendmail(HOST, SUBJECT,FROM,TO,message):
    “”"
    发送邮件主体到对方邮箱
    :发送信息参数说明:
    1.内容必须是字符串
    2.内容形式,文本类型默认为plain
    3.内容编码使用utf-8
    :其他:
    图片和excel文件需要和本脚本一个目录下
    “”"

    <span class="hljs-comment"># ===========发送信息内容=============</span>
    <span class="hljs-comment"># message_html = MIMEText('shuai123 消灭不开行', 'plain', 'utf-8')</span>
    message_html = MIMEText(<span class="hljs-string">'&lt;h1 style="color:red;font-size:100px"&gt;测试信息已收到&lt;/h1&gt;&lt;img src="cid:small"&gt;'</span>, <span class="hljs-string">'html'</span>, <span class="hljs-string">'utf-8'</span>)
    message.attach(message_html)
    
    <span class="hljs-comment"># ===========发送图片-=============</span>
    <span class="hljs-comment">#发送图片-预览信息</span>
    image_data = open(<span class="hljs-string">'email_demo.jpg'</span>, <span class="hljs-string">'rb'</span>)
    message_image = MIMEImage(image_data.read())
    image_data.close()<span class="hljs-comment"># 关闭刚才打开的文件</span>
    message_image.add_header(<span class="hljs-string">'Content-ID'</span>, <span class="hljs-string">'small'</span>)
    message.attach(message_image)<span class="hljs-comment"># 添加图片文件到邮件信息中去</span>
    <span class="hljs-comment">#发送图片-附件</span>
    message_image = MIMEText(open(<span class="hljs-string">'email_demo.jpg'</span>, <span class="hljs-string">'rb'</span>).read(), <span class="hljs-string">'base64'</span>, <span class="hljs-string">'utf-8'</span>)
    message_image[<span class="hljs-string">'Content-disposition'</span>] = <span class="hljs-string">'attachment;filename="email_demo_change.jpg"'</span><span class="hljs-comment"># 设置图片在附件当中的名字</span>
    message.attach(message_image)<span class="hljs-comment"># 添加图片文件到邮件-附件中去</span>
    <span class="hljs-comment"># ===========发送excel-附件=============</span>
    message_xlsx = MIMEText(open(<span class="hljs-string">'email_demo.xlsx'</span>, <span class="hljs-string">'rb'</span>).read(), <span class="hljs-string">'base64'</span>, <span class="hljs-string">'utf-8'</span>)<span class="hljs-comment"># 将xlsx文件作为内容发送到对方的邮箱读取excel,rb形式读取,对于MIMEText()来说默认的编码形式是base64 对于二进制文件来说没有设置base64,会出现乱码</span>
    message_xlsx[<span class="hljs-string">'Content-Disposition'</span>] = <span class="hljs-string">'attachment;filename="email_demo_change.xlsx"'</span><span class="hljs-comment"># 设置文件在附件当中的名字</span>
    message.attach(message_xlsx)<span class="hljs-comment"># 添加excel文件到邮件-附件中去</span>
    
    <span class="hljs-comment"># ===========配置相关-=============</span>
    message[<span class="hljs-string">'From'</span>] = FROM <span class="hljs-comment"># 设置邮件发件人</span>
    message[<span class="hljs-string">'TO'</span>] = TO <span class="hljs-comment"># 设置邮件收件人</span>
    message[<span class="hljs-string">'Subject'</span>] = SUBJECT <span class="hljs-comment"># 设置邮件标题</span>
    email_client = smtplib.SMTP_SSL()<span class="hljs-comment"># 获取江建有奖传输协议证书</span>
    email_client.connect(HOST, <span class="hljs-string">'465'</span>)<span class="hljs-comment"># 设置发送域名,端口465</span>
    result = email_client.login(FROM, <span class="hljs-string">'你的QQ授权码'</span>)  <span class="hljs-comment"># qq授权码</span>
    print(<span class="hljs-string">'登录结果'</span>, result)
    
    <span class="hljs-comment"># ===========操作=============</span>
    email_client.sendmail(from_addr=FROM, to_addrs=TO.split(<span class="hljs-string">','</span>), msg=message.as_string()) <span class="hljs-comment">#发送邮件指令</span>
    email_client.close()<span class="hljs-comment"># 关闭邮件发送客户端</span>
    

    if name == main:
    sendmail(HOST=HOST, SUBJECT=SUBJECT,FROM=FROM,TO=TO,message=message)

    demo2.py

     

    参考文档

    1.使用Python来操作邮箱:https://blog.csdn.net/qq_38059635/article/details/81569081

    2.python3 发邮件 smtplib & email 库:https://www.cnblogs.com/vivivi/p/5952093.html

    展开阅读全文
                                                                                                    <div class="tags-box">
                                        <div class="tags-box__inner">
                                            <a class="tag-item" href="https://www.oschina.net/p/python">Python</a>                                        </div>
                                    </div>
                                
                                                                <div class="copyright-box">
                                    <div class="copyright-box__content">
                                                                                    <p>© 著作权归作者所有</p>
                                                                            </div>
                                    <div class="copyright-box__extra">
                                        <span class="ban clickable" ban-report="" data-id="2223354" data-obj-type="3" data-url="https://my.oschina.net/u/3018050/blog/2223354"><i class="flag icon"></i>举报</span>
                                    </div>
                                </div>
    
                                                                <div class="action-box">
                                                                            <div class="action-item">
                                                                                        <div class="action-item__button donate" donate="" data-id="2223354" data-obj-type="16344358" data-subject="python使用smtplib和MIMEText发送邮件" data-donater="" data-author="3018050" data-return-url="https://my.oschina.net/u/3018050/blog/2223354" data-notify-url="https://my.oschina.net/action/donate/paySuccess">                                                 <i class="oicon oicon-money-bold"></i>
                                            </div>
                                            <div class="action-item__text">打赏</div>
                                        </div>
                                                                        <div class="action-item">
                                                                                <div class="action-item__button like-btn toggle-article-like " data-id="2223354">
                                            <i class="oicon oicon-thumb-up"></i>
                                        </div>
                                        <div class="action-item__text"><span data-article-like-count="">0</span> 赞</div>
                                    </div>
                                    <div class="action-item">
                                                                                <div class="action-item__button collect-btn " data-id="2223354" data-user-id="3018050" data-obj-type="3" data-max="99" data-tag-required="" data-current-user-id="" data-recommend-tags="Python" data-uncollected-class="oicon oicon-star" data-collected-class="oicon oicon-star">
                                            <i class="oicon oicon-star"></i>
                                        </div>
                                        <div class="action-item__text"><span data-collect-count="" data-id="2223354" data-obj-type="3">6</span> 收藏</div>
                                    </div>
                                    <div class="action-item">
                                                                                <div class="osc-share ui floating dropdown" data-tag="share-blog" tabindex="0">
                                            <div class="action-item__button"><i class="oicon oicon-share"></i></div>
                                            <div class="menu" tabindex="-1">
                                                <a class="item" data-platform="wechat" data-value="wechat"><i class="weixin icon"></i>微信</a>
                                                <a class="item" data-platform="qq" data-value="qq"><i class="qq icon"></i>QQ</a>
                                                <a class="item" data-platform="weibo" data-value="weibo"><i class="weibo icon"></i>微博</a>
                                            </div>
                                        </div>
                                        <div class="action-item__text">分享</div>
                                    </div>
                                </div>
    
                                                                                                    <div class="recommend-box">
                                        <div class="recommend-box__header">
                                            <h3 class="recommend-box__title">作者的其它热门文章</h3>
                                        </div>
                                        <div class="recommend-box__content">
                                            <div class="item-list">
                                                                                                                                                            <div class="item">
                                                            <a href="https://my.oschina.net/u/3018050/blog/2049912" target="_blank" title="vue开源项目">vue开源项目</a>
                                                        </div>
                                                                                                                                                                                                                <div class="item">
                                                            <a href="https://my.oschina.net/u/3018050/blog/1821742" target="_blank" title="vue的video插件vue-video-player">vue的video插件vue-video-player</a>
                                                        </div>
                                                                                                                                                                                                                <div class="item">
                                                            <a href="https://my.oschina.net/u/3018050/blog/1808448" target="_blank" title="python+opengl显示三维模型小程序">python+opengl显示三维模型小程序</a>
                                                        </div>
                                                                                                                                                                                                                <div class="item">
                                                            <a href="https://my.oschina.net/u/3018050/blog/1798117" target="_blank" title="python,django,pip一些查看版本,升级版本的命令">python,django,pip一些查看版本,升级版本的命令</a>
                                                        </div>
                                                                                                                                                </div>
                                        </div>
                                    </div>
                                                            </div>
                        </div>
    
    展开全文
  • QQ邮箱接收MIMEText的内容为空

    千次阅读 2017-03-20 15:59:59
    #!/usr/bin/python #-*- coding: utf-8 -*- from smtplib import SMTP_SSL from email.header import Header ...from email.mime.text import MIMEText From = "*****@xxx.com" To = "*****1@xxx.com" smtp
    #!/usr/bin/python
    #-*- coding: utf-8 -*-
    from smtplib import SMTP_SSL
    from email.header import Header
    from email.mime.text import MIMEText


    From = "*****@xxx.com"
    To = "*****1@xxx.com"
    smtp = SMTP_SSL("smtp.qq.com")
    smtp.set_debuglevel(1)
    smtp.ehlo("smtp.qq.com")
    #发送邮件的邮箱账号和授权码
    smtp.login(From,"******")
    #前面可以发送内容、后面无法发送内容
    msg = MIMEText("你好","text","utf-8")
    msg["Subject"] = Header("this is title","utf-8")
    msg["Sender"] = From
    msg["Reciver"] = To
    smtp.sendmail(From, To, msg.as_string())

    smtp.quit()


    这样子只接收到标题没有内容

    msg = MIMEText("你好","text","utf-8")

    改成msg = MIMEText("你好")

    就可以在qq邮箱接收到“你好”的内容


    目前对MIMEText还不是很了解。

    有错误留言,谢谢~

    展开全文
  • 由于纯文本的邮件内容已经不能满足多样化的需求,主要介绍通过引入mail.mime的MIMEText 类来实现支持HTML格式的邮件,支持所有HTML格式的元素,包括表格,图片,动画,css样式,表单等。(参考刘老师文献)案例中收集...

    由于纯文本的邮件内容已经不能满足多样化的需求,主要介绍通过引入mail.mime的MIMEText 类来实现支持HTML格式的邮件,支持所有HTML格式的元素,包括表格,图片,动画,css样式,表单等。(参考刘老师文献)

    案例中收集的是最简单的服务器硬件信息,通过smtp将信息发到收件人邮箱,大家可以根据自己的需求收集所需要的信息(比如CPU百分比,硬盘剩余百分比,内存使用百分比,并设定阈值,当硬盘剩余空间不足10%,发送邮件通知管理员及时处理)

    #!/usr/bin/env python

    #coding: utf-8

    import smtplib

    import os

    import psutil

    from email.mime.text import MIMEText    //导入MIMEText类

    ip = os.popen("ifconfig |grep -v 127 |grep inet |awk '{print $2}'|cut -d: -f2").read().strip()     //获取IP地址

    hostname  = os.popen("hostname").read().strip()   //获取主机名

    cpu = psutil.cpu_count()  //获取CPU线程

    mem = os.popen("free -m |grep Mem |awk '{print $2}'").read().strip()+"M"  //获取内存总量

    disk = os.popen("fdisk -l |grep -E Disk |awk '{print $3}'").read().strip()+"G" //获取硬盘总大小

    HOST = "smtp.163.com"      //指定使用网易163邮箱

    SUBJECT = u"服务器硬件信息"   //邮件标题

    TO = "1351271xxxx@139.com"   //收件人

    FROM = "sallsoul@163.com"    //发件人

    msg = MIMEText("""

    namenetworkCPUMemDisk
    %s %s %s %s %s
    """ % (hostname,ip,cpu,mem,disk),"HTML","uft-8")

    msg['Subject'] = SUBJECT

    msg['From'] = FROM

    msg['To'] = TO

    try:

    server  = smtplib.SMTP()      //创建一个SMTP对象

    server.connect(HOST,"25")      //通过connect方法链接到smtp主机

    server.starttls()             //启动安全传输模式

    server.login("sallsoul@163.com","passwordxx")  // 登录163邮箱 校验用户,密码

    server.sendmail(FROM, [TO], msg.as_string())   //发送邮件

    server.quit()

    print "邮件发送成功 %s %s %s %s %s" % (hostname,ip,cpu,mem,disk)  /发送成功并打印

    except Exception, e:

    print "邮件发送失败:"+str(e)

    运行结果:

    ff02294d4fbb91a344f00a8802406f34.png

    大家可以收集自己需要的信息,通过判断服务器的状态信息,并发相关信息邮件。

    展开全文
  • 出现这个错误(ImportError: No module named MIMEText) 原因可能为 当前目录下或者本身脚本的名字以email.py命名。 执行脚本的目录下和执行的脚本命名不可以用email.py命名

    出现这个错误(ImportError: No module named MIMEText)

    原因可能为  当前目录下或者本身脚本的名字以email.py命名。

    执行脚本的目录下和执行的脚本命名不可以用email.py命名

    展开全文
  • /usr/bin/env python#coding:utf-8import smtplibfrom email.mime.text import MIMEText # 导入MIMEText类HOST = "smtp.126.com"SUBJECT = u"官网流量数据报表"TO = "to@qq.com"FROM = "from@126.com"# 创建一个MIM....
  • 由于纯文本的邮件内容已经不能满足多样化的需求,主要介绍通过引入mail.mime的MIMEText 类来实现支持HTML格式的邮件,支持所有HTML格式的元素,包括表格,图片,动画,css样式,表单等。(参考刘老师文献) 案例中...
  • /usr/bin/env python#coding:utf-8# 通过MIMEText类来实现HTML格式的邮件,当要求包含图片数据的邮件内容时,需要引用MIMEImage类# 若邮件主体由多个MIME对象组成,则同时需引用MIMEMultipart类来进行组装import ...
  • from email.mime.text import MIMEText后,就不能用,为啥,import其他外置的库都会出现一样的问题 File "c:/Users/BEN/Desktop/桌面云/python/vscode/main.py", line 13, in <module> smg=minetext("send ...
  • from email.mime.text import MIMEText msg_from='xie496818005@163.com' #邮件发送方(要有发送地址、发送客户端授权密码、SMTP服务器地址) pwd='EOMKZPWDZUUXQSUN' #发送方的授权密码、要去网页上设置 to='49*...
  • message_xlsx = MIMEText(open('email_demo.xlsx', 'rb').read(), 'base64', 'utf-8')# 将xlsx文件作为内容发送到对方的邮箱读取excel,rb形式读取,对于MIMEText()来说默认的编码形式是base64 对于二进制文件来说...
  • to_list 接收者邮件列表,每个邮件地址用","分隔 """ if not subject or not context or not to_list: return '邮件发送失败,邮件主题、内容与收件人邮件都是必填项' # 初始始化邮件相关参数 email = MIMEText...
  • MIMEText的主要作用是用来规范内容类型的,比如是文本,还是图像等。 步骤: 第一步:主题,类似标题 subject = "主题" 第二步:发送内容 content = "内容" 第三步:发送人sender = "发送人@163.com" 第四步:接收人...
  • /usr/bin/env python#coding:utf-8# 通过MIMEText类来实现HTML格式的邮件,当要求包含图片数据的邮件内容时,需要引用MIMEImage类# 若邮件主体由多个MIME对象组成,则同时需引用MIMEMultipart类来进行组装import ...
  • python发送QQ邮件

    2020-04-16 01:43:57
    from email.mime.text import MIMEText # MIMEText三个主要参数 # 1. 邮件内容 # 2. MIME子类型,在此案例我们用plain表示text类型 # 3. 邮件编码格式,一定要用"utf-8"编码,因为内容可能包含非英文字符,不用的...
  • from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart sender = 'xxxx@myhexin.com' smtpserver = 'mail.myhexin.com' username = 'xxxx' password = 'xxxxxxxx...
  • 数据库邮件报警机制

    2019-03-26 16:37:22
    数据库报警邮件 #!/usr/bin/python # -*- encoding: utf-8 -*- import re ...from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart def alarm_mail(text): ...
  • Python/Email_Demo(mark)

    2018-12-21 10:40:28
    #!/usr/bin/env python # -*- coding:utf-8 -*- import smtplib from smtplib import SMTP_SSL from email.header import ...from email.mime.text import MIMEText from email.mime.multipart import MIMEMult...
  • Python QQ 发送Email SMTP

    2017-08-06 16:05:43
    1.设置需要先去qq邮箱后台设置,打开POP3/SMTP,还要生成授权码,就是下面代码中填的密码。MIMEText支持htmlSMTP_SSL 用这个初始化,端口传465
  • #!/usr/bin/python #coding: utf-8 import sys import xlwt import MySQLdb import datetime import time import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText fr
  • 调用API发送邮件163邮箱Python

    千次阅读 2019-04-19 13:13:21
    from email.mime.text import MIMEText #SMTP服务器 SMTPSever = "smtp.163.com" #发邮件的地址 sender = "18332191389@163.com" #发送这邮箱的密码 passwd = "xxxxxxxx" #设置发送的内容 message = "liu wang i...
  • python通过163邮箱发送email邮件

    千次阅读 2018-04-11 14:55:23
    发送邮件代码 # !/usr/bin/python # -*- coding: UTF-8 -*- ... from email.mime.text import MIMEText from email.header import Header # 第三方 SMTP 服务 mail_host = "smtp.163.c...
  • 发送 HTML 形式的邮件

    千次阅读 2020-10-23 09:31:25
    我们平时需要使用 Python 发送各类邮件,这个需求怎么来实现?答案其实很简单,smtplib和email库可以帮忙实现这个需求。...发送 HTML 形式的邮件,需要 email.mime.text 中的 MIMEText 的 _subtype 设置为...
  • 发送普通文本邮件

    千次阅读 2020-10-23 09:30:23
    我们平时需要使用 Python 发送各类邮件,这个需求怎么来实现?答案其实很简单,smtplib和email库可以帮忙实现这个需求。...发送普通文本的邮件,只需要 email.mime.text 中的 MIMEText 的 _subtype 设置为 pl...
  • 1.首先要引入必要的包。... from email.mime.text import MIMEText from email.MIMEMultipart import MIMEMultipart import datetime 2.定义发送邮件函数 def Send_Mail (Message): TODAY = datetime.d
  • Python发文本/图片/附件邮件

    万次阅读 2020-01-11 23:08:13
    """ Python发邮件 """ import smtplib from email.header import Header from email.mime.text import MIMEText class Email(object): """ 邮件类,提供功能:发邮件 """ def __init__(self): self.mai...
  • #-*- coding:utf-8 -*- ...from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.header import Headermail_host = "smtp.yeah.net" mail_user = "发送邮件的邮箱账
  • Python smtplib发送QQ邮箱邮件

    千次阅读 2019-03-17 15:23:11
    from email.mime.text import MIMEText msg_from = '************@qq.com' # 发送方邮箱地址。 password = '************' # 发送方QQ邮箱授权码,不是QQ邮箱密码。 msg_to = '*************@qq.com' # 收件人...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,883
精华内容 4,353
关键字:

MIMEText