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进程通信之匿名管道实例讲解
Apr 11 Python
详解Python中for循环是如何工作的
Jun 30 Python
浅谈python和C语言混编的几种方式(推荐)
Sep 27 Python
python中matplotlib的颜色及线条控制的示例
Mar 16 Python
python json.loads兼容单引号数据的方法
Dec 19 Python
python 实现矩阵上下/左右翻转,转置的示例
Jan 23 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
Aug 06 Python
Python 实用技巧之利用Shell通配符做字符串匹配
Aug 23 Python
Pytorch中的variable, tensor与numpy相互转化的方法
Oct 10 Python
python 实现Harris角点检测算法
Dec 11 Python
python 基于opencv 绘制图像轮廓
Dec 11 Python
k-means & DBSCAN 总结
Apr 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
Apache2 httpd.conf 中文版
2006/11/17 PHP
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
PHP IPV6正则表达式验证代码
2010/02/16 PHP
php防止sql注入代码实例
2013/12/18 PHP
PHP5中实现多态的两种方法实例分享
2014/04/21 PHP
PHP实现验证码校验功能
2017/11/16 PHP
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
jquery基础教程之数组使用详解
2014/03/10 Javascript
jQuery实现div横向拖拽排序的简单实例
2016/07/13 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
详解如何构建Angular项目目录结构
2017/07/13 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
Vue移动端实现图片上传及超过1M压缩上传
2019/12/23 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
[03:54]DOTA2英雄梦之声_第06期_昆卡
2014/06/23 DOTA
[01:45]DOTA2众星出演!DSPL刀塔次级职业联赛宣传片
2014/11/21 DOTA
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python实现bitmap数据结构详解
2014/02/17 Python
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
python生成带有表格的图片实例
2019/02/03 Python
Python for i in range ()用法详解
2020/09/18 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
amazeui页面校验功能的实现代码
2020/08/24 HTML / CSS
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
创建索引时需要注意的事项
2013/05/13 面试题
Ajxa常见问题都有哪些
2014/03/26 面试题
《悯农》教学反思
2014/04/28 职场文书
创业培训计划书
2014/05/03 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书