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实现的检测网站挂马程序
Nov 30 Python
Python装饰器原理与简单用法实例分析
Apr 29 Python
python 3.6.4 安装配置方法图文教程
Sep 18 Python
在Python中居然可以定义两个同名通参数的函数
Jan 31 Python
python实现通过队列完成进程间的多任务功能示例
Oct 28 Python
Python一行代码解决矩阵旋转的问题
Nov 30 Python
开启Django博客的RSS功能的实现方法
Feb 17 Python
pytorch实现CNN卷积神经网络
Feb 19 Python
python对数组进行排序,并输出排序后对应的索引值方式
Feb 28 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
Jun 30 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 Python
Python 图片添加美颜效果
Apr 28 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
一个显示天气预报的程序
2006/10/09 PHP
php地址引用(php地址引用的效率问题)
2012/03/23 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
2016/09/22 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
输入密码检测大写是否锁定js实现代码
2012/12/03 Javascript
javascript 实现子父窗体互相传值的简单实例
2014/02/17 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
jquery实现textarea 高度自适应
2015/03/11 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
2017/11/07 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
2020/10/30 Javascript
python使用mailbox打印电子邮件的方法
2015/04/30 Python
Python实现的矩阵类实例
2017/08/22 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
python检测服务器端口代码实例
2019/08/31 Python
Python实现自动访问网页的例子
2020/02/21 Python
在pycharm中文件取消用 pytest模式打开的操作
2020/09/01 Python
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
庆中秋节主题活动方案
2014/02/03 职场文书
幼儿园健康教育方案
2014/06/14 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2014年幼儿园教研工作总结
2014/12/04 职场文书
三峡导游词
2015/01/31 职场文书
详细总结Python常见的安全问题
2021/05/21 Python
Golang 切片(Slice)实现增删改查
2022/04/22 Golang