广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python 发邮件
  • 275
分享到

Python 发邮件

发邮件Python 2023-01-31 00:01:35 275人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

普通邮件[root@localhost checksalt]# cat python_email.py  #!/usr/bin/Python # -*- coding: utf-8 -*- import sys def smtp(title



普通邮件

[root@localhost checksalt]# cat python_email.py 
#!/usr/bin/Python
# -*- coding: utf-8 -*-
import sys
def smtp(title,file):
    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
     
    with open(file, 'r') as f:
        content = f.read()
    #加邮件头
    msg=MIMEText(content,'plain', 'utf-8')
    to_list=['XXX1@qq.com',XXX2@qq.com]
    msg['from'] = 'XXX@qq.com'
    msg['subject'] = title
    #发送邮件
    try:
        server = smtplib.SMTP()
        server.connect('smtp.exmail.qq.com')
        server.login('XXX@qq.com','xxxxx')#XXX为用户名,xxxxx为密码
        server.sendmail(msg['from'],to_list,msg.as_string())
        server.quit()
        print '发送成功'
    except Exception, e:  
        print str(e)
if __name__ == '__main__':
    smtp(sys.argv[1],sys.argv[2])
     
[root@localhost checksalt]#



带附件邮件

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import smtplib
import datetime
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header

oneday = datetime.timedelta(days=1)
today = datetime.date.today()
yesterday  = datetime.date.today() - oneday
yesterday_time = datetime.datetime.strftime(yesterday, '%Y-%m-%d')

sender = 'xxxx_xxxx@xxxx.com'    ##发送者
receivers = ['xxxx@xxxx.com','xxxx@xxxx.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

#创建一个带附件的实例
message = MIMEMultipart()
message['From'] = Header("来源", 'utf-8')
message['To'] =  Header("目的", 'utf-8')
subject = 'xxxx日志'
message['Subject'] = Header(subject, 'utf-8')

#邮件正文内容
message.attach(MIMEText('%sxxxx日志信息,请看附件!!'% yesterday_time, 'plain', 'utf-8'))

# 构造附件,传送当前目录下的 test.txt 文件
try:
    file = 'file.log.%s' % yesterday_time

    print file
    att1 = MIMEText(open(file, 'rb').read(), 'base64', 'utf-8')
    att1["Content-Type"] = 'application/octet-stream'
    # 这里的filename可以任意写,写什么名字,邮件中显示什么名字
    att1["Content-Disposition"] = "p_w_upload; filename=extProfile.log.%s" %yesterday_time
    message.attach(att1)
    smtpObj = smtplib.SMTP()
    smtpObj.connect('smtp.exmail.qq.com')
    smtpObj.login('xxxx_xxxx@xxxx.com', 'xxxxxxxxxxxx')  # XXX为用户名,XXXXX为密码
    smtpObj.sendmail(sender, receivers, message.as_string())
    smtpObj.quit()
    print "邮件发送成功"
except smtplib.SMTPException as e :
    print str(e)
    print "Error: 无法发送邮件"
except IOError as e:
    print str(e)
    print "Error: 无法发送邮件"



普通格式邮件

#!/usr/bin/env python
#_*_coding:utf-8 _*_
__author__ = 'gaogd'

import smtplib
import string

'''
实现图文格式的服务器性能报表邮件
'''

HOST = "smtp.exmail.qq.com" #定义smtp主机
SUBJECT = "Test email from Python" #定义邮件主题
TO = "xxx@xxx.com" #定义邮件收件人
FROM = "xxx@xxx.com" #定义邮件发件人
text = "Python rules them all!" #邮件内容
BODY = string.join(( #组装sendmail方法的邮件主体内容,各段以"\r\n"进行分隔
        "From: %s" % FROM,
        "To: %s" % TO,
        "Subject:%s" % SUBJECT,
        "",
        text
        ),"\r\n")
server = smtplib.SMTP() #创建一个SMTP()对象
server.connect(HOST,"25") #通过connect方法连接smtp主机
server.starttls() #启动安全传输模式
server.login("xx@xxx.com", "xxxxx")  # 邮箱账号登录校验
server.sendmail(FROM,[TO],BODY)#邮件发送
server.quit() #断开smtp连接

print 'send ok'



Html格式邮件

#!/usr/bin/env python
#_*_coding:utf-8 _*_
__author__ = 'gaogd'

import smtplib
from email.mime.text import MIMEText #导入MIMEText类




HOST = "smtp.exmail.qq.com" #定义smtp主机
SUBJECT = u"官网流量数据报表" #定义邮件主题
TO = "xxx@xxx.com" #定义邮件收件人
FROM = "xxx@xxx.com" #定义邮件发件人

'''
实现html的服务器性能报表邮件
'''
msg = MIMEText("""
    #创建一个MIMEText对象,分别指定HTML内容、类型(文本或html)、字符编码
    <table width="800" border="0" cellspacing="0" cellpadding="4">
    <tr>
    <td bGColor="#CECFAD" height="20"duokan-code-cn">">*官网数据
    <a href="monitor.domain.com">更多>></a></td>
    </tr>
    <tr>
    <td bgcolor="#EFEBDE" height="100"duokan-code-cn">">
    1)日访问量:<font color=red>152433</font> 访问次数:23651 页面浏览量:
    45123 点击数:545122 数据流量:504Mb<br>
    2)状态码信息<br>
      500:105 404:3264 503:214<br>
    3)访客浏览器信息<br>
      IE:50% firefox:10% chrome:30% other:10%<br>
    4)页面信息<br>
      /index.PHP 42153<br>
      /view.php 21451<br>
      /login.php 5112<br>
    </td>
    </tr>
    </table>
""","html","utf-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("xx@xxx.com", "xxxxx")  # 邮箱账号登录校验
    server.sendmail(FROM, TO, msg.as_string()) #邮件发送
    server.quit() #断开smtp连接
    print "邮件发送成功!"
except Exception as e:
    print "失败:"+str(e)



图片格式邮件

#!/usr/bin/env python
#_*_coding:utf-8 _*_
__author__ = 'gaogd'


import smtplib
from email.mime.multipart import MIMEMultipart #导入MIMEMultipart类
from email.mime.text import MIMEText #导入MIMEText类
from email.mime.p_w_picpath import MIMEImage #导入MIMEImage类


HOST = "smtp.exmail.qq.com" #定义smtp主机
SUBJECT = u"业务性能数据报表" #定义邮件主题
TO = "xxx@xxx.com" #定义邮件收件人
FROM = "xxx@xxx.com" #定义邮件发件人

def addimg(src,imgid): #添加图片函数,参数1:图片路径,参数2:图片id
        fp = open(src, 'rb') #打开文件
        msgImage = MIMEImage(fp.read()) #创建MIMEImage对象,读取图片内容并作为参数
        fp.close() #关闭文件
        msgImage.add_header('Content-ID',imgid) #指定图片文件的Content-ID,
        # <img> 标签src用到
        return msgImage #返回msgImage对象


msg = MIMEMultipart('related') #创建MIMEMultipart对象,采用related定义内嵌资源#的邮件体
msgtext = MIMEText("""
                #创建一个MIMEText对象,HTML元素包括表格<table>及图片
                <img>
                <table width="600" border="0" cellspacing="0" cellpadding="4">
                    <tr bgcolor="#CECFAD" height="20" duokan-code-cn>
                        <td colspan=2>*官网性能数据 <a href="monitor.domain.com">更多>></a></td>
                    </tr>
                    <tr bgcolor="#EFEBDE" height="100" duokan-code-cn>
                        <td><img src="cid:io"></td>
                        <td><img src="cid:key_hit"></td>
                    </tr>
                     <tr bgcolor="#EFEBDE" height="100"duokan-code-cn>
                        <td><img src="cid:men"></td>
                        <td><img src="cid:swap"></td>
                    </tr>
                </table>
                ""","html","utf-8")
#<img>标签的src属性是通过Content-ID来引用的

msg.attach(msgtext) #MIMEMultipart对象附加MIMEText的内容
msg.attach(addimg("img/1.png","io")) #使用MIMEMultipart对象附加MIMEImage#的内容
msg.attach(addimg("img/2.png","key_hit"))
msg.attach(addimg("img/3.png","men"))
msg.attach(addimg("img/1.png","swap"))

msg['Subject'] = SUBJECT #邮件主题
msg['From']=FROM #邮件发件人,邮件头部可见
msg['To']=TO #邮件收件人,邮件头部可见

try:
        server = smtplib.SMTP() #创建一个SMTP()对象
        server.connect(HOST,"25") #通过connect方法连接smtp主机
        server.starttls() #启动安全传输模式
        server.login("xx@xxx.com", "xxxxx")  # 邮箱账号登录校验
        server.sendmail(FROM, TO, msg.as_string()) #邮件发送
        server.quit() #断开smtp连接
        print "邮件发送成功!"
except Exception, e:
        print "失败:"+str(e)




--结束END--

本文标题: Python 发邮件

本文链接: https://www.lsjlt.com/news/182756.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python 发邮件
    普通邮件[root@localhost checksalt]# cat python_email.py  #!/usr/bin/python # -*- coding: utf-8 -*- import sys def smtp(title...
    99+
    2023-01-31
    发邮件 Python
  • python发送邮件
    python通过smtp发送qq邮件 import smtplib from email.mime.text import MIMEText from email.header import Header """ 1》测试邮件发送 ...
    99+
    2023-01-30
    发送邮件 python
  • python 邮件发送
    环境:python2.7 1 #coding:utf-8 2 from __future__ import unicode_literals 3 __author__ = 'crista' 4 5 import smtpli...
    99+
    2023-01-30
    邮件发送 python
  • python 发送邮件
    #!/usr/bin/env python#coding:utf-8 import smtplib,time,stringfrom email.mime.text import MIMEText SMTPserver = 'smtp.exm...
    99+
    2023-01-31
    发送邮件 python
  • Python+sendEmail发邮件
    Linux用户常用sendmail发送电子邮件,当您看了本文后可能会改用sendEmail去发送邮件了,呵呵。1 下载sendEmail       sendEmail有Linux和windows版本软件包,依据自己的平台选择下载好了htt...
    99+
    2023-01-31
    发邮件 Python sendEmail
  • python SMTP邮件发送
    本例使用的时python2.7环境,python3的操作应该也是差不多的。 需要用到smtplib和email两个包。 发送文本类型的邮件 下面看个发送文本邮件的例子(使用网易163的SMTP): # -*- coding: UTF-8 ...
    99+
    2023-01-31
    邮件发送 python SMTP
  • python通过163邮箱发送邮件
    from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText import smtplib import sys impor...
    99+
    2023-01-31
    发送邮件 邮箱 python
  • python发送邮件和附件
    发送邮件的时候,需要发送人,收件人,和一台邮件服务器,这里使用python发送一个邮件,主要需要引入smtplib和email库。下面是源码,粘贴即可用: #!/usr/bin/env python3 # coding: utf-8 imp...
    99+
    2023-01-31
    发送邮件 附件 python
  • python 发送中文邮件
    #!/usr/bin/python#coding:utf-8#导入smtplib和MIMEText import smtplibfrom email.Header import Headerfrom email.MIMEText impor...
    99+
    2023-01-31
    中文 邮件 python
  • python实现发邮件(sendmail
    #!/usr/bin/python#-*-coding:utf-8-*- #-*-coding:utf-8-*-#filename :sendmail.pyimport sys import smtplibfrom email.mime.t...
    99+
    2023-01-31
    发邮件 python sendmail
  • Python实现邮件发送
    使用smtplib模块发送邮件,它对smtp协议进行了简单的封装。smtp协议的基本命令包括:    HELO 向服务器标识用户身份    MAIL 初始化邮件传输 mail from:    RCPT 标识单个的邮件接收人;常在MAIL命...
    99+
    2023-01-31
    邮件发送 Python
  • zabbix用python发送邮件
    !/usr/bin/pythoncoding: utf-8import smtplibimport sysfrom email.mime.text import MIMEText_user = "12345678@qq.com"_pwd ...
    99+
    2023-01-31
    发送邮件 zabbix python
  • python发送、抄送邮件
    python发送抄送邮件 sendemial.py #!/usr/bin/python # -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMETe...
    99+
    2023-01-31
    邮件 python
  • 用 Python 发电子邮件
    本文首发于【红叶枫啦】微信公号,未经允许,不得转载。 这个程序涉及两个库:smtplib 和 email。 这两个库都是Python自带的,所以不需要额外的下载安装,此外,这次使用的Python版本为2.7。 总体思路很简...
    99+
    2023-01-31
    电子邮件 Python
  • python学习群发邮件
    https://ke.qq.com/course/109110 腾讯课堂视频 使用Python发送邮件 1、 SMTP 服务器介绍 2、 SMTP 邮件服务器开启 3、 Email 模块介绍 4、 Smtplib.SMTP_SSL介绍 ...
    99+
    2023-01-31
    邮件 python
  • python如何群发邮件
    小编给大家分享一下python如何群发邮件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python群 发邮件主要是依赖STMP模块,但不少新手都不会,下面就让一...
    99+
    2023-06-05
  • Python批量发送邮件
    1.SMTP协议SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一个相对简单的基于文本的协议, 在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。可以...
    99+
    2023-06-02
  • python发送带附件的邮件
      来源:http://snipperize.todayclose.com/snippet/py/Send-email-with-p_w_upload--53762/ Send email with p_w_upload import sm...
    99+
    2023-01-31
    附件 邮件 python
  • python实现QQ邮箱群发邮件实例
    目录一,登录邮箱,获取授权码二,替换参数总结一,登录邮箱,获取授权码 二,替换参数 给多人发送邮箱,我只是做了个循环,把每个人得授权码循环输入了。把授权码和邮箱替换成自己得就行,...
    99+
    2022-11-13
  • Python实现发送邮件到自己邮箱
    目录1、缘由2、设置SMTP服务器3、使用python发送4、总结5、补充1、缘由 在日常开发中,我们经常需要监控应用程序的状态,及时发现问题并采取措施解决。而通过邮件发送报警信息则...
    99+
    2023-05-14
    Python发送邮件到邮箱 Python发送邮件 Python 邮件 邮箱
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作