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自动化测试工具Splinter简介和使用实例
May 13 Python
Python聊天室实例程序分享
Jan 05 Python
利用Django内置的认证视图实现用户密码重置功能详解
Nov 24 Python
python中比较两个列表的实例方法
Jul 04 Python
python hough变换检测直线的实现方法
Jul 12 Python
关于ZeroMQ 三种模式python3实现方式
Dec 23 Python
python绘制封闭多边形教程
Feb 18 Python
Python单例模式的四种创建方式实例解析
Mar 04 Python
python filecmp.dircmp实现递归比对两个目录的方法
May 22 Python
Java ExcutorService优雅关闭方式解析
May 30 Python
python 读取.nii格式图像实例
Jul 01 Python
virtualenv隔离Python环境的问题解析
Jun 21 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
escape unescape的php下的实现方法
2007/04/27 PHP
PHP form 表单传参明细研究
2009/07/17 PHP
php获取新浪微博数据API实例
2013/11/12 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
利用PHP获取汉字首字母并且分组排序详解
2017/10/22 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
jQuery焦点图切换特效插件封装实例
2013/08/18 Javascript
自己封装的javascript事件队列函数版
2014/06/12 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
jQuery中prevUntil()方法用法实例
2015/01/08 Javascript
AngularJS学习笔记之依赖注入详解
2016/05/16 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
使用Python编写爬虫的基本模块及框架使用指南
2016/01/20 Python
深入理解Python中range和xrange的区别
2017/11/26 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
Anaconda下安装mysql-python的包实例
2018/06/11 Python
Python 从相对路径下import的方法
2018/12/04 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
Python函数参数分类原理详解
2020/05/28 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
中级会计职业生涯规划书
2014/03/01 职场文书
禁毒宣传标语
2014/06/19 职场文书
史上最全书信经典范文大全(建议收藏)
2019/07/10 职场文书
MySQL系列之九 mysql查询缓存及索引
2021/07/02 MySQL
MySQL表类型 存储引擎 的选择
2021/11/11 MySQL
sqlserver连接错误之SQL评估期已过的问题解决
2022/03/23 SQL Server
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库