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与Redis的连接教程
Apr 22 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
Apr 21 Python
Django模板变量如何传递给外部js调用的方法小结
Jul 24 Python
Python实现多条件筛选目标数据功能【测试可用】
Jun 13 Python
使用python读取.text文件特定行的数据方法
Jan 28 Python
简单的Python调度器Schedule详解
Aug 30 Python
详解numpy矩阵的创建与数据类型
Oct 18 Python
flask框架url与重定向操作实例详解
Jan 25 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
May 22 Python
Python可视化工具如何实现动态图表
Oct 23 Python
Python类class参数self原理解析
Nov 19 Python
python中使用np.delete()的实例方法
Feb 01 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 时间计算问题小结
2009/01/04 PHP
PHP 批量删除数据的方法分析
2009/10/30 PHP
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
php的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
用PHP来计算某个目录大小的方法
2014/04/01 PHP
php获取QQ头像并显示的方法
2014/12/23 PHP
PHP文件操作详解
2016/12/30 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
jQuery示例收集
2010/11/05 Javascript
通过JavaScript控制字体大小的代码
2011/10/04 Javascript
JS字符串处理实例代码
2013/08/05 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
JavaScript中eval函数的问题
2016/01/31 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
2018/07/12 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
2018/11/06 Javascript
[jQuery] 事件和动画详解
2019/03/05 jQuery
基于mpvue小程序使用echarts画折线图的方法示例
2019/04/24 Javascript
JS实现简易留言板特效
2019/12/23 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
[03:27]《辉夜杯》线下训练营 导师CU和海涛指点迷津
2015/10/23 DOTA
Python实现批量检测HTTP服务的状态
2016/10/27 Python
浅述python2与python3的简单区别
2018/09/19 Python
使用python将时间转换为指定的格式方法
2018/11/12 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
美国折衷生活方式品牌:Robert Graham
2018/07/13 全球购物
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
员工2014年度工作总结
2014/12/09 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书