之前要做一个mysql慢查询的定时发送程序,研究了一下python 发送email的模块。python 可以smtplib 库和email 库发送邮件。

一 stmplib 的使用

初始化语法如下:

#连接到SMTP服务器

s = smtplib.SMTP('smtp.XXXX.com')

#发送邮件。msg是字符串,表示邮件内容。

s.sendmail(from_addr, to_addrs, msg)

#断开连接

s.quit()

二 email 的使用

有关MIME的一些知识

多用途互联网邮件扩展(MIME,Multipurpose Internet Mail Extensions)是一个互联网标准,它扩展了电子邮件标准,使其能够支持非ASCII字符、二进制格式附件等多种格式的邮件消息。

RFC2822定义的邮件格式中,邮件体只是单纯的ASCII编码的字符序列,MIME扩展邮件的格式,用以支持非ASCII编码的文本、非文本附件及包含多个部分(multi-part)的邮件体。

MIME消息由消息头、消息体组成,即邮件的邮件头、邮件体。中间以空行进行分隔。

1、邮件头:包括发件人(from)、收件人(to)、邮件主题(subject)、接收日期(date)、MIME版本、邮件内容类型等信息。每条信息称为一个域,由域名后加“:”和信息内容构成,域的首行必须顶头写。

2、邮件体:有text/plain(纯文本)和text/html(超文本)之分,由邮件头的“content type”域指出。可以同时存在,也可以只存在一种。这就是为什么有些邮件既可以用html格式查看,又可以用文本格式查看的原因。邮件体分为多个段,称为Payload。每个段也包括段头段尾,中间以空行分隔。

multipart类型有3种:

multipart/mixed

multipart/related

multipart/alternative。

邮件里添加附件要定义multipart/mixed段:

如果纯文本超文本共存,则要定义multipart/alternative,

如存在内嵌资源,要定义multipart/related。

3、附件(attach)。发送邮件时,可以将本机的文件一起发送。附件可以有0个或多个,只要附件的总大小,不超过邮件服务器所声明的最大容量。

class email.mime.text.MIMEText(_text[, _subtype[, _charset]])

用于生成MIME对象的主体文本:_text指定邮件内容,_subtype指定邮件类型,_charset指定编码。

class email.mime.multipart.MIMEMultipart()

用于生成包含多个部分的邮件体的MIME对象

三 简单例子介绍:

一个发送至多人的例子:

#!/usr/bin/evn python

import time

import smtplib

from email.mime.text import MIMEText

mail_body='hello, this is the mail content from python and it is sended to two emails !'

fromer='qilong.yangql@gmail.com'

##注意sender 一定要是数组,否则接受到邮件显示收件人是被";" 截断的字符串

sender=['5XXX2@qq.com','yangXXX@163.com']

msg=MIMEText(mail_body)

msg['Subject']='hello  world '

msg['From']=fromer

msg['To']=';'.join(sender)

msg['date']=time.strftime('%a, %d %b %Y %H:%M:%S %z')

s=smtplib.SMTP('smtp.XXXXX.com')

s.sendmail(fromer,sender,msg.as_string())

s.quit()

参考:

http://newliu.com/post/25/

http://docs.python.org/2/library/email-examples.html

http://zh.wikipedia.org/wiki/%E5%A4%9A%E7%94%A8%E9%80%94%E4%BA%92%E8%81%AF%E7%B6%B2%E9%83%B5%E4%BB%B6%E6%93%B4%E5%B1%95

python发送超大附件邮件_【Python】发送邮件功能浅析相关推荐

  1. python发送超大附件邮件_干货!大批量的邮件这样发送!简单方便快捷

    用Python发邮件有哪些优势?批量发送邮件,并且各邮件可以不同 高度自定义的定时发送 更有效地管理收件箱 基本概念 有关邮件的基本概念,可以查看下图 代码操作前的配置 以网易163邮箱为例,邮箱需要 ...

  2. python发送超大附件邮件_Python实现发送邮件

    新浪邮箱smtp服务器 外发服务器:smtp.vip.sina.com 收件服务器:pop3.vip.sina.com 新浪免费邮件 外发服务器:smtp.sina.com.cn 收件服务器:pop3 ...

  3. Python发送多附件邮件的方法

    Python发送多附件邮件的基本思路,首先就是用MIMEMultipart()方法来表示这个邮件由多个部分组成.然后再通过attach()方法将各部分内容分别加入到MIMEMultipart容器中.M ...

  4. python发送多人邮件_【Python3】 发送邮件给多人

    1.收件人邮箱msg_to=['258507328@qq.com,1501949013@qq.com,277544354@qq.com'],以列表的方式给出. 2.message['To'] =',' ...

  5. python 发送带附件邮件到钉钉邮箱+邮件内容带有表格

    import smtplib import pandas as pd # smtplib这个模块是管发邮件 from email.mime.text import MIMEText # 构造邮件内容 ...

  6. python发送多人邮件_Python如何发送邮件给多人

    网上找到的一般是这样的: import smtplib import email.MIMEMultipart import email.MIMEText import email.MIMEBase i ...

  7. Python 发送邮件 和 发送带附件邮件

    摘要:      平时运行一些脚本,需要把结果发送到邮箱,可以用python来处理,如下: 1,有邮件服务器: #!/bin/env python # -*- encoding: utf-8 -*- ...

  8. Python 发送带附件的邮件 发出去的附件格式就成bin

    导语:学习到使用Python发送带附件的邮件,但收件人收到的附件格式是bin,附件名称也不是filename写的名称. 1.效果如下: 2.解决办法: 将 att1['Content-Disposit ...

  9. python邮件发送csv附件_Python2.7 smtplib发送带附件邮件报错STARTTLS解决方法

    最近在SIOMP系统中添加一项功能时,即自动发送带附件邮件到指定邮箱时,发现在发送时报错:错误信息:STARTTLS extension not supported by server.很是奇怪,但发 ...

  10. python3发送邮件_Python3使用SMTP发送带附件邮件

    一.设置开启SMTP服务并获取授权码 可以参考第一篇文章,这里不再赘述:[一]https://www.jb51.net/article/142220.htm 二.使用Python3 发送带附件的邮件 ...

最新文章

  1. html5 div 鼠标跟随,CSS实用:DIV+CSS打造跟随鼠标的层
  2. zk如何实现watch
  3. 关于Java里面File类创建txt文件重复???
  4. 面试题之在字符串中查找出第一个只出现一次的字符的位置
  5. android mat下载地址,MatLog下载-MatLog(Log获取)下载v1.2.3 安卓版-西西软件下载
  6. 容器的六大误区和八大正确场景(颠覆你的认知)
  7. C Traps:运算
  8. Linux系统kill端口占用简书,MAC/Linux解决端口占用
  9. 2019年云计算发展趋势如何 怎么加入云计算行业
  10. CentOS 7.5 安装MySQL教程
  11. 微信小程序云开发之云函数与本地数据库获取数据
  12. NumPy的实用函数整理之percentile
  13. VC编程实现 excel插入一行单元格Insert
  14. Android 绘制优化
  15. 服务器CPU占用率高,如何排查?
  16. 【跨区助手】Apex入库
  17. java 对某个文件改名_java中给文件改名
  18. 图形学中的贴图采样、走样与反走样等
  19. 手机re管理器支持android2.3的,RE管理器安卓版
  20. 某公司变电所运维云平台的应用

热门文章

  1. c语言编程软件v,c语言编程工具mytc下载
  2. 基于Edge插件+格式工厂下载B站上的喜欢视频
  3. VUE移动端案例整合
  4. Java Excel 导出为 PDF
  5. 想下载B站视频却不知如何下手?一文教你爬B站!
  6. word中图片为嵌入式格式时显示不全_毕设时,在word中插入图片时,图片的格式改为嵌入式后图片藏于文字下方怎么办?...
  7. 小白调用soso街景API
  8. java转盘抽奖算法_抽奖算法 - 幸运大转盘 - java
  9. 碰撞次数与π的关系问题程序求解
  10. mysql 易语言 邮件_易语言实现163邮箱登录获取邮件列表等操作的代码