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实现dnspod自动更新dns解析的方法
Feb 14 Python
python获取文件扩展名的方法
Jul 06 Python
Python抓取淘宝下拉框关键词的方法
Jul 08 Python
Python中使用asyncio 封装文件读写
Sep 11 Python
Python内建函数之raw_input()与input()代码解析
Oct 26 Python
pip matplotlib报错equired packages can not be built解决
Jan 06 Python
详解python中asyncio模块
Mar 03 Python
python实现接口并发测试脚本
Jun 25 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
Python 实现OpenCV格式和PIL.Image格式互转
Jan 09 Python
浅谈pytorch池化maxpool2D注意事项
Feb 18 Python
python爬取2021猫眼票房字体加密实例
Feb 19 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中memcache的应用
2013/06/18 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
使用PHP开发留言板功能
2019/11/19 PHP
Aster vs KG BO3 第二场2.18
2021/03/10 DOTA
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
2012/07/31 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
图解Javascript——作用域、作用域链、闭包
2017/03/21 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
JS内部事件机制之单线程原理
2018/07/02 Javascript
微信小程序数据分析之自定义分析的实现
2018/08/17 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
Python多线程扫描端口代码示例
2018/02/09 Python
python实现杨氏矩阵查找
2019/03/02 Python
numpy求平均值的维度设定的例子
2019/08/24 Python
Django框架ORM数据库操作实例详解
2019/11/07 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
素质拓展感言
2014/01/29 职场文书
党员政治学习材料
2014/05/14 职场文书
主要负责人任命书
2014/06/06 职场文书
政协会议宣传标语
2014/10/09 职场文书
2014年园林绿化工作总结
2014/12/11 职场文书
男方婚礼答谢词
2015/01/20 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书