简单了解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 相关文章推荐
web.py在模板中输出美元符号的方法
Aug 26 Python
python使用wmi模块获取windows下硬盘信息的方法
May 15 Python
Linux 下 Python 实现按任意键退出的实现方法
Sep 25 Python
Ubuntu下创建虚拟独立的Python环境全过程
Feb 10 Python
详解python3中socket套接字的编码问题解决
Jul 01 Python
Python3对称加密算法AES、DES3实例详解
Dec 06 Python
linux下安装python3和对应的pip环境教程详解
Jul 01 Python
在python中计算ssim的方法(与Matlab结果一致)
Dec 19 Python
python实现异常信息堆栈输出到日志文件
Dec 26 Python
python 匿名函数与三元运算学习笔记
Oct 23 Python
python hmac模块验证客户端的合法性
Nov 07 Python
pytorch锁死在dataloader(训练时卡死)
May 28 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
十天学会php之第七天
2006/10/09 PHP
一个高ai的分页函数和一个url函数
2006/10/09 PHP
如何使用PHP往windows中添加用户
2006/12/06 PHP
php 分库分表hash算法
2009/11/12 PHP
php反射应用示例
2014/02/25 PHP
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
编写高效jQuery代码的4个原则和5个技巧
2014/04/24 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
JavaScript判断浏览器和hack滚动条的写法
2017/07/23 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
JavaScript获取某一天所在的星期
2019/09/05 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
python 从csv读数据到mysql的实例
2018/06/21 Python
python实现飞机大战游戏
2020/10/26 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
2019/08/15 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
pandas参数设置的实用小技巧
2020/08/23 Python
Python用K-means聚类算法进行客户分群的实现
2020/08/23 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
英国高档时尚男装购物网站:MR PORTER
2016/08/09 全球购物
英国健身仓库:Bodybuilding Warehouse
2019/03/06 全球购物
老总助理工作岗位职责
2014/02/06 职场文书
原材料检验岗位职责
2014/03/15 职场文书
公安交警个人对照检查材料思想汇报
2014/10/01 职场文书
小学新课改心得体会
2016/01/22 职场文书
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python