python实现自动发送邮件


Posted in Python onJune 20, 2018

自动发送邮件功能是我们经常要用到的,比如每天定时统计报表信息,然后自动发送给运营人员,协助运营人员进行业务数据分析。本文是用Python写的一个自动发送邮件的脚本,调用函数时,直接把发件人邮箱地址、密码、收件人邮箱地址、邮件标题、内容等信息传递给函数,即可实现自动发送邮件功能。

脚本代码如下:

# -*- coding: UTF-8 -*- 
import sys, os, re, urllib, urlparse 
import smtplib 
import traceback 
from email.mime.text import MIMEText 
from email.mime.multipart import MIMEMultipart 
 
def sendmail(subject,msg,toaddrs,fromaddr,smtpaddr,password): 
 ''''' 
 @subject:邮件主题 
 @msg:邮件内容 
 @toaddrs:收信人的邮箱地址 
 @fromaddr:发信人的邮箱地址 
 @smtpaddr:smtp服务地址,可以在邮箱看,比如163邮箱为smtp.163.com 
 @password:发信人的邮箱密码 
 ''' 
 mail_msg = MIMEMultipart() 
 if not isinstance(subject,unicode): 
  subject = unicode(subject, 'utf-8') 
 mail_msg['Subject'] = subject 
 mail_msg['From'] =fromaddr 
 mail_msg['To'] = ','.join(toaddrs) 
 mail_msg.attach(MIMEText(msg, 'html', 'utf-8')) 
 try: 
  s = smtplib.SMTP() 
  s.connect(smtpaddr) #连接smtp服务器 
  s.login(fromaddr,password) #登录邮箱 
  s.sendmail(fromaddr, toaddrs, mail_msg.as_string()) #发送邮件 
  s.quit() 
 except Exception,e: 
  print "Error: unable to send email" 
  print traceback.format_exc() 
 
if __name__ == '__main__': 
 fromaddr = "xxxxxxxx@163.com" 
 smtpaddr = "smtp.163.com" 
 toaddrs = ["xxxxxxxx@qq.com","xxxxxxxxx@163.com"] 
 subject = "测试邮件" 
 password = "xxxxxxxx" 
 msg = "测试一下" 
 sendmail(subject,msg,toaddrs,fromaddr,smtpaddr,password)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅谈python中的getattr函数 hasattr函数
Jun 14 Python
遍历python字典几种方法总结(推荐)
Sep 11 Python
Python2.X/Python3.X中urllib库区别讲解
Dec 19 Python
《与孩子一起学编程》python自测题
May 27 Python
Python使用字典的嵌套功能详解
Feb 27 Python
解决python图像处理图像赋值后变为白色的问题
Jun 04 Python
JAVA SWT事件四种写法实例解析
Jun 05 Python
keras多显卡训练方式
Jun 10 Python
Python DES加密实现原理及实例解析
Jul 17 Python
windows安装python超详细图文教程
May 21 Python
python四种出行路线规划的实现
Jun 23 Python
Python 如何利用ffmpeg 处理视频素材
Nov 27 Python
Django实现登录随机验证码的示例代码
Jun 20 #Python
python实现Windows电脑定时关机
Jun 20 #Python
python通过微信发送邮件实现电脑关机
Jun 20 #Python
python定时关机小脚本
Jun 20 #Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
Jun 20 #Python
python实现电脑自动关机
Jun 20 #Python
python3将视频流保存为本地视频文件
Jun 20 #Python
You might like
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
2017/02/18 PHP
JavaScript中的作用域链和闭包
2012/06/30 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
2016/10/19 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
JavaScript 处理树数据结构的方法示例
2019/06/16 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
Element Input输入框的使用方法
2020/07/26 Javascript
python 多进程通信模块的简单实现
2014/02/20 Python
python实现将元祖转换成数组的方法
2015/05/04 Python
python 字典(dict)按键和值排序
2016/06/28 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
Python算法中的时间复杂度问题
2019/11/19 Python
基于pytorch 预训练的词向量用法详解
2020/01/06 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
浅析Python 责任链设计模式
2020/09/11 Python
大四本科生的自我评价
2013/12/30 职场文书
出纳员岗位责任制
2014/02/11 职场文书
个人收入证明模板
2014/09/18 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
2015暑期社会实践通讯稿
2015/07/18 职场文书
银行培训心得体会范文
2016/01/09 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python
Windows环境下实现批量执行Sql文件
2021/10/05 SQL Server
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server
Java界面编程实现界面跳转
2022/06/16 Java/Android