python实现自动发送邮件

自动发送邮件功能是我们经常要用到的,比如每天定时统计报表信息,然后自动发送给运营人员,协助运营人员进行业务数据分析。本文是用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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)

    最近工作上有个需求,当爬虫程序遇到异常的时候,需要通知相应的人员进行修复.如果是国外可能是通过邮件的方式来通知,但国内除了万年不变的 qq 邮箱,大部分人都不会去再申请其他的账号,qq 邮箱也是闲的蛋疼的时候才会瞄一眼.你还记得上次看邮箱的内容是什么时候吗? 所以在国内最好的通知方式是通过手机短信,今天就教大家利用 python 10 行代码实现短信发送. Twilio 短信代理服务已经有非常多成熟的方案,比如国内的阿里云.这次我介绍的是国外的一个代理商「Twilio」,使用邮箱注册即送 15

  • Python实现自动发送邮件功能

    简单邮件传输协议(SMTP)是一种协议,用于在邮件服务器之间发送电子邮件和路由电子邮件.Python提供smtplib模块,该模块定义了一个SMTP客户端会话对象,可用于使用SMTP或ESMTP侦听器守护程序向任何互联网机器发送邮件. SMTP通讯的基本流程可以概括为以下几点: 1.连接SMTP服务器 2.登陆用户名和密码 3.发送指定邮件内容 4.退出SMTP连接 一.发送纯文本格式邮件 #coding:utf-8 import sys reload(sys) sys.setdefaulten

  • python实现自动发送报警监控邮件

    本文实例为大家分享了python自动发送报警监控邮件 的具体代码,供大家参考,具体内容如下 因为有一些日常任务需要每日检查日否执行正确,所以需要一个报警监控的机制,这个需要你指定你发送的邮箱和你接收的邮箱,就可以使用了. 这四个需要填写一下,我们使用的qq企业邮箱所以host为smtp.exmail.qq.com mail_host=""  mail_user=""  mail_pass=""  mail_postfix=""

  • python实现12306抢票及自动邮件发送提醒付款功能

    #写在前面,这个程序我已经弄出来了,但是因为黄牛泛滥以及懒人太多,整个程序的代码就不贴出来了,这里纯粹就是技术交流. 只做技术交流..... 嗯,程序结束后,自己还是得手动付款. 废话不多说,下面就直接开始技术主要部分阐述. 先讲理论部分:首先我们需要代码实现一个浏览器功能,那么模块基本上可以确定urllib.parse.urllib.request,这两个包都是和网址有关的模块,那么咱们去登录一个网址,特别是有验证码这些的网址,我们登录进去是不是就行了?答案是对的,但是我们用代码实现的话,这个

  • 基于Python实现定时自动给微信好友发送天气预报

    效果图 from wxpyimport * import requests from datetimeimport datetime import time from apscheduler.schedulers.blockingimport BlockingScheduler#定时框架 bot = Bot(cache_path=True) tuling = Tuling(api_key=你的api')#机器人api def send_weather(location): #准备url地址 pa

  • python实现自动发送邮件发送多人、群发、多附件的示例

    1.最近公司实现部分数据统计.分析的报表进行每天定时发送到相关人员的邮箱之中的配置代码被人为删除了,需要重新恢复该功能,由于原先是在linux上使用shell配置发送,实在是太繁琐,所以准备使用python来实现该功能,不过发现网上各种文档都是未经过整理,代码写的很不友善,比如发送多人的只能发送前一个邮箱,附件写死不灵活等等,故特写一遍比较记录. 主要会遇到的几个问题: 1.smtplib.SMTPAuthenticationError: (550, b'User has no permissi

  • 利用Python自动监控网站并发送邮件告警的方法

    前言 因为有一些网站需要每日检查是否有问题,所以需要一个报警监控的机制,这个需要你指定你发送的邮箱和你接收的邮箱,就可以做到对网站自动监控了. 这里用的是python3.5 需要安装的插件: 1.smtplib:发邮件需要用到 2.pycurl:访问网站时会需要用到 3.linecache:在读取txt网站清单时需要用到 具体思路: python程序从txt里面批量读取到网站的信息,通过Curl.py模拟浏览器去访问网站,并且把访问的结果写入到以自己的网站名称-日期.txt格式的文件中记录;有几

  • python实现自动发送邮件

    自动发送邮件功能是我们经常要用到的,比如每天定时统计报表信息,然后自动发送给运营人员,协助运营人员进行业务数据分析.本文是用Python写的一个自动发送邮件的脚本,调用函数时,直接把发件人邮箱地址.密码.收件人邮箱地址.邮件标题.内容等信息传递给函数,即可实现自动发送邮件功能. 脚本代码如下: # -*- coding: UTF-8 -*- import sys, os, re, urllib, urlparse import smtplib import traceback from emai

  • Python如何实现自动发送邮件

    目录 自动发送邮件 使用邮箱的第一步 一份邮件的组成 正式发送一份邮件 批量发送邮件 自动发送邮件 我们把报表做出来以后一般都是需要发给别人查看,对于一些每天需要发的报表或者是需要一次发送多份的报表,这个时候可以考虑借助Python来自动发送邮件. 使用邮箱的第一步 一般我们在使用QQ邮箱.163邮箱.126邮箱等这些比较常用的邮箱时,只需要输入账号和密码就可以.但是在使用手机端的企业邮箱的时候,一般都需要配置一下,常规的配置界面如下所示: 就是除了在输入账号密码以外,还需要输入一个服务器链接地

  • Python自动发送邮件的方法实例总结

    本文实例讲述了Python自动发送邮件的方法.分享给大家供大家参考,具体如下: python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用.smtplib模块主要负责发送邮件,email模块主要负责构造邮件. smtplib模块主要负责发送邮件:是一个发送邮件的动作,连接邮箱服务器,登录邮箱,发送邮件(有发件人,收信人,邮件内容). email模块主要负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等

  • python自动发送邮件脚本

    本文实例为大家分享了python自动发送邮件的具体代码,供大家参考,具体内容如下 #coding=utf8 ''''' 该模块使自动发送邮件的模块 模块初始化时需要设置: sender:发送人 reciver:接收者 smtpServer:发送人的服务器类型 password:登录命令 subject:邮件标题 datafile:数据文件 文件包含六个函数: senderLogin():连接服务并登录服务 setSubject():设置邮件标题 SendMessage():邮件发送的信息 sen

  • selenium+python实现自动登陆QQ邮箱并发送邮件功能

    本期做一个selenium详细实例,会把我在元素定位中遇到的一些阻塞和经验分享给大家. (浏览器为Chrome) (如果只需要最终的完整代码,请直接跳转到文章最后) 浏览器打开QQ邮箱登录网址 QQ邮箱登录地址为:https://mail.qq.com/ from selenium import webdriver import time zhengyi = webdriver.Chrome() zhengyi.get('https://mail.qq.com/') 这一步没有遇到问题,至于为什

  • 基于python SMTP实现自动发送邮件教程解析

    最近工作中的一个项目需要自动发送一些信息邮件到指定邮箱的需求,那么如何实现Python自动发送邮件的功能呢?接下来我们就来简单的介绍下如何利用Python来实现自动发送邮件的功能. Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议 ,说白了就是发送邮件的协议,python的smplib库对SMTP协议进行了简单的封装,提供了对SMTP的支持,可以发送纯文本邮件.HTML文件以及带附件的邮件. 首先我们构建一个SendEmai

  • python使用QQ邮箱实现自动发送邮件

    最近用到Python自动发送邮件,主要就是三步,登录邮件.写邮件内容.发送,用到的库是 smtplib 和 email,直接使用pip安装即可 我使用的是QQ邮箱,首先需要设置QQ邮箱POP3/SMTP服务 记住这个授权码,这个授权码就是Python脚本中登录邮箱时的密码,而不是你平时登录邮箱时的那个密码 一.发送普通文本邮件 #发送多种类型的邮件 from email.mime.multipart import MIMEMultipart msg_from = '1508691067@qq.c

  • Python实战之自动发送邮件的实现

    目录 1.开启SMTP服务 2.准备 3.编写脚本 4.小例子 自动发送邮件能应用于许多场景,比如我想要知道股票策略中的股票池是否有实时的更新,这时候如果再拉一遍数据,跑一遍脚本,实在是太浪费时间了.为什么不把这一套流程放到服务器上,然后到点自动运行并发送邮件呢? 类似的应用场景还有很多,不仅仅是在股票策略提醒上,比如定时向某些人发送邮件:网站宕机了,实时发送邮件提醒:网站负载过高,发送邮件提醒......等等. 下面就来讲讲怎么用Python构建一个自动发送邮件的脚本. 1.开启SMTP服务

随机推荐