简单了解python 邮件模块的使用方法


Posted in Python onJuly 24, 2019

我们在开发程序的时候,有时候需要开发一些自动化的任务,执行完之后,将结果自动的发送一份邮件,python发送邮件使用smtplib模块,是一个标准包,直接import导入使用即可,代码如下:

import smtplib    
from email.mime.text import MIMEText
email_host = 'smtp.163.com'   #邮箱地址
email_user = 'xxxx@163.com' # 发送者账号
email_pwd = 'xxxx'    # 发送者密码
maillist ='511402865@qq.com'
#收件人邮箱,多个账号的话,用逗号隔开
me = email_user
msg = MIMEText('邮件发送测试内容')  # 邮件内容
msg['Subject'] = '邮件测试主题'  # 邮件主题
msg['From'] = me  # 发送者账号
msg['To'] = maillist  # 接收者账号列表
smtp = smtplib.SMTP(email_host,port=25) # 连接邮箱,传入邮箱地址,和端口号,smtp的端口号是25
smtp.login(email_user, email_pwd)  # 发送者的邮箱账号,密码
smtp.sendmail(me, maillist, msg.as_string())
# 参数分别是发送者,接收者,第三个是把上面的发送邮件的内容变成字符串
smtp.quit() # 发送完毕后退出smtp
print ('email send success.')

下面是发送带附件的邮件

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
username='xxx@xx.com'
email_host = 'smtp.163.com'
passwd='123456'
recv=['511402865@qq.com',]
title='邮件标题'
content='发送邮件测试'
msg = MIMEMultipart()
file='a.txt'
att = MIMEText(open(file,encoding='utf-8').read())
att["Content-Type"] = 'application/octet-stream'
att["Content-Disposition"] = 'attachment; filename="%s"'%file
msg.attach(att)
msg.attach(MIMEText(content))#邮件正文的内容
msg['Subject'] = title # 邮件主题
msg['From'] = username # 发送者账号
msg['To'] = recv # 接收者账号列表
#smtp = smtplib.SMTP_SSL(eail_host,port=456)#qq邮箱
smtp = smtplib.SMTP_SSL(eail_host,port=25)#其他邮箱
smtp.login(username,passwd)
smtp.sendmail(username,recv,msg.as_string())
smtp.quit()

当然,我们可以封装成一个函数,使用的时候,直接调用函数,传入邮箱账号密码,收件人,发件人,标题和内容即可。

import smtplib      
  from email.mime.text import MIMEText
  def send_mail(username,passwd,recv,title,content,mail_host='smtp.163.com',port=25):
    '''
    发送邮件函数,默认使用163smtp
    :param username: 邮箱账号 xx@163.com
    :param passwd: 邮箱密码
    :param recv: 邮箱接收人地址,多个账号以逗号隔开
    :param title: 邮件标题
    :param content: 邮件内容
    :param mail_host: 邮箱服务器
    :param port: 端口号
    :return:
    '''
    msg = MIMEText(content)  # 邮件内容
    msg['Subject'] = title  # 邮件主题
    msg['From'] = username  # 发送者账号
    msg['To'] = recv  # 接收者账号列表
    smtp = smtplib.SMTP(mail_host,port=port) # 连接邮箱,传入邮箱地址,和端口号,smtp的端口号是25
    smtp.login(username, passwd)  # 发送者的邮箱账号,密码
    smtp.sendmail(username, recv, msg.as_string())
    # 参数分别是发送者,接收者,第三个是把上面的发送邮件的内容变成字符串
    smtp.quit() # 发送完毕后退出smtp
    print ('email send success.')
     
email_user = 'xxxx@163.com' # 发送者账号
email_pwd = 'xxxxx'    # 发送者密码
maillist ='511402865@qq.com'
title = '测试邮件标题'
content = '这里是邮件内容'
send_mail(email_user,email_pwd,maillist,title,content)

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

Python 相关文章推荐
Python写的英文字符大小写转换代码示例
Mar 06 Python
Python中文分词实现方法(安装pymmseg)
Jun 14 Python
Python数据可视化正态分布简单分析及实现代码
Dec 04 Python
Python获取当前函数名称方法实例分享
Jan 18 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
Mar 20 Python
python threading和multiprocessing模块基本用法实例分析
Jul 25 Python
Python @property装饰器原理解析
Jan 22 Python
Python3爬虫中Splash的知识总结
Jul 10 Python
浅谈python处理json和redis hash的坑
Jul 16 Python
Python数据库封装实现代码示例解析
Sep 05 Python
python中if嵌套命令实例讲解
Feb 25 Python
Python实现灰色关联分析与结果可视化的详细代码
Mar 25 Python
python 根据字典的键值进行排序的方法
Jul 24 #Python
如何使用Flask-Migrate拓展数据库表结构
Jul 24 #Python
Python定时任务工具之APScheduler使用方式
Jul 24 #Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 #Python
Django的用户模块与权限系统的示例代码
Jul 24 #Python
python3字符串操作总结
Jul 24 #Python
django数据关系一对多、多对多模型、自关联的建立
Jul 24 #Python
You might like
星际中一些鲜为人知的详细资料
2020/03/04 星际争霸
php使用gzip压缩传输js和css文件的方法
2015/07/29 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
2016/10/20 PHP
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
vuejs指令详解
2017/02/07 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
微信小程序 首页制作简单实例
2017/04/07 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
了解javascript中变量及函数的提升
2019/05/27 Javascript
vue实现全匹配搜索列表内容
2019/09/26 Javascript
vuex的数据渲染与修改浅析
2020/11/26 Vue.js
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
[56:56]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
python 打印对象的所有属性值的方法
2016/09/11 Python
Python3爬虫学习入门教程
2018/12/11 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
anaconda如何查看并管理python环境
2019/07/05 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
python怎么调用自己的函数
2020/07/01 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
什么是SCM(软件配置管理)
2014/08/16 面试题
村官学习十八大感想
2014/01/15 职场文书
纠风工作实施方案
2014/03/15 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书
实习单位意见
2015/06/04 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP