简单了解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文件读写并使用mysql批量插入示例分享(python操作mysql)
Feb 17 Python
Python中的Numpy入门教程
Apr 26 Python
不要用强制方法杀掉python线程
Feb 26 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
Oct 11 Python
Python异常处理知识点总结
Feb 18 Python
Python Opencv实现图像轮廓识别功能
Mar 23 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
Aug 12 Python
python 矢量数据转栅格数据代码实例
Sep 30 Python
Python通过socketserver处理多个链接
Mar 18 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
Jul 14 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 Python
Python源码解析之List
May 21 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
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
javascript转换字符串为dom对象(字符串动态创建dom)
2010/05/10 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
jquery 快速回到页首的方法
2013/12/05 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/06 Javascript
vue-router 源码之实现一个简单的 vue-router
2018/07/02 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
微信小程序发送短信验证码完整实例
2019/01/07 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
解决python写的windows服务不能启动的问题
2014/04/15 Python
Python中模块string.py详解
2017/03/12 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
英国最大的海报商店:GB Posters
2018/03/20 全球购物
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
几个常见的消息中间件(MOM)
2014/01/08 面试题
学生的自我鉴定范文
2013/10/24 职场文书
办理护照介绍信
2014/01/16 职场文书
工程开工庆典邀请函
2014/02/01 职场文书
银行爱岗敬业演讲稿
2014/05/05 职场文书
学校教研活动总结
2014/07/02 职场文书
大学军训自我鉴定大全
2014/09/18 职场文书
2014财务人员自我评价范文
2014/09/21 职场文书
高考作弊检讨书1500字
2015/02/16 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
收入证明申请书
2015/06/12 职场文书