python爬虫-smtplib模块发送邮件
1、代码如下:
import smtplib from email.message from EmailMessage # smtplib模块负责发送邮件服务 # email.message模块负责构建邮件,然后交给smtplib发送 # 定义SMTP服务器地址
smtp_server = 'smtp.163.com'
# 定义发件人地址
from_addr = "***********@163.com"
# 定义登录密码
password = '**********'
# 定义收件人
to_addr = "**********@qq.com" # 创建SMTP连接
conn = smtplib.SMTP_SSL(smtp_server, 465) conn.set_debuglevel(1) conn.login(from_addr, password) # 创建邮件对象
msg = EmailMessage() # 设置邮件内容
msg.set_content('你好,我正在测试如何使用python发送电子邮件', 'plain', 'utf-8') # 设置邮件主题
msg['subject'] = "一封测试smtplib模块的邮件" msg['from'] = from_addr msg['to'] = to_addr # 发送邮件
conn.sendmail(from_addr, [to_addr], msg.as_string()) # 退出连接 conn.quit()
2、常见异常解决
2.1SMTPAuthenticationError

# 定义发件人地址
from_addr = "***********@163.com"
# 定义登录密码
password = '**********'
# 定义收件人
to_addr = "**********@qq.com" # 创建SMTP连接
conn = smtplib.SMTP_SSL(smtp_server, 465) conn.set_debuglevel(1) conn.login(from_addr, password)
出现这个错误是由于conn.login(from_addr, password)中的password不是登录客户端的密码,再强调一遍不是登录客户端的密码,是授权码,下面演示如何获取授权码,以
网易邮箱为例:

登录进入后,界面所示:

在设置里面有一个POP3/SMTP/IMAP,点击进入该页面,再点击箭头所示的客户端授权密码


要保证设置客户端授权码处于开启状态,如果记得就不用重置,如果不记得,就按照要求一步一步重置,然后用自己重置的授权码,作为登录密码就可以了。
2.2SMTPDataError

出现这样的异常是由于自己的邮件信息没有设置完整
# 创建邮件对象
msg = EmailMessage() # 设置邮件内容
msg.set_content('你好,我正在测试如何使用python发送电子邮件', 'plain', 'utf-8') # 发送邮件
conn.sendmail(from_addr, [to_addr], msg.as_string()) # 退出连接 conn.quit()
从上述代码中,我们知道从创建邮件对象开始,只设置了邮件内容,所有才会出现这样的错误,还有设置至少三个信息,这些信息会显示在你的邮件中。
# 邮件主题
msg['subject'] = "一封测试smtplib模块的邮件" # 邮件发送者
msg['from'] = from_addr # 邮件接收者
msg['to'] = to_addr
邮件对象添加这三个信息后,就能发送成功了。
3、参考链接
http://c.biancheng.net/view/2665.html
https://www.cnblogs.com/fengyiru6369/p/7472679.html
https://blog.csdn.net/qq_40423339/article/details/87866001
python爬虫-smtplib模块发送邮件的更多相关文章
- python之smtplib模块 发送邮件
# -*- coding: utf-8 -*- #python 27 #xiaodeng #smtplib模块 发送邮件 import smtplib from email.mime.text imp ...
- python调用smtplib模块发送邮件
#!/usr/bin/env python #coding: utf-8 import smtplib from email.mime.text import MIMEText from email. ...
- 通过python操作smtplib模块发送邮件
# gconf.py SMTP_SERVER_HOST='smtp.exmail.qq.com' SMTP_SERVER_PORT=25 SMTP_USER='jack@qq.com' # 邮箱客户端 ...
- python之使用smtplib模块发送邮件
# 使用smtplib模块发送邮件 import smtplib from email.mime.text import MIMEText from email.header import Heade ...
- python爬虫 urllib模块url编码处理
案例:爬取使用搜狗根据指定词条搜索到的页面数据(例如爬取词条为‘周杰伦'的页面数据) import urllib.request # 1.指定url url = 'https://www.sogou. ...
- python 爬虫 urllib模块 目录
python 爬虫 urllib模块介绍 python 爬虫 urllib模块 url编码处理 python 爬虫 urllib模块 反爬虫机制UA python 爬虫 urllib模块 发起post ...
- python:利用smtplib模块发送邮件
自动化测试中,测试报告一般都需要发送给相关的人员,比较有效的一个方法是每次执行完测试用例后,将测试报告(HTML.截图.附件)通过邮件方式发送. 参考代码:send_mail.py 一.python对 ...
- python:利用smtplib模块发送邮件详解
自动化测试中,测试报告一般都需要发送给相关的人员,比较有效的一个方法是每次执行完测试用例后,将测试报告(HTML.截图.附件)通过邮件方式发送. 首先我们要做: 进入163邮箱,点击设置中的pop3/ ...
- 使用python调用email模块发送邮件附件
使用python调用email模块实现附件发送 需要模块: import datetime import time import sys import mimetypes import smtplib ...
随机推荐
- idea 为模块添加Tomcat依赖 解决: Intelij IDEA 创建WEB项目时没有Servlet的jar包
解决: Intelij IDEA 创建WEB项目时没有Servlet的jar包 今天创建SpringMVC项目时 用到HttpServletRequest时, 发现项目中根本没有Servlet这个包, ...
- imx6q-plus-Android6.0下uboot添加网卡驱动
1.文件:iTOP-iMX6_android6.0.1/bootable/bootloader/uboot-imx/include/configs/mx6sabre_common.h修改如下:#def ...
- SimpleDateFormat 线程安全的解决方案--DateTimeFormatter
SimpleDateFormat并不是线程安全的,因为在SimpleDateFormat中持有一个Calendar类对象在Parse 和Format方法时会调用calendar.setTime(dat ...
- WOW.js——在页面滚动时展现动感的元素动画效果
插件描述:WOW.js 是一款可以实现滚动页面时触发CSS 动画效果的插件,动态效果可以使网站显示更有动感. 当页面在向下滚动的时候,使用WOW.js可以让页面元素产生细小的动画效果,从而引起浏览者注 ...
- dubbo接口泛化调用例子
@ApiOperation(value = "dubbo泛化调用工具接口") public Result dubboApiTool( @ApiParam(value = " ...
- Redis为什么会比MySQL快?
1.Redis是基于内存存储的,MySQL是基于磁盘存储的 2.Redis存储的是k-v格式的数据.时间复杂度是O(1),常数阶,而MySQL引擎的底层实现是B+Tree,时间复杂度是O(logn), ...
- python学习笔记(10)函数(二)
(函数的参数&递归函数) 一.函数的参数 Python的函数定义非常简单,但灵活度却非常大.除了正常定义的必选参数外,还可以使用默认参数.可变参数和关键字参数,使得函数定义出来的接口,不但能处 ...
- mysql配置白名单
1. 测试是否允许远程连接 $ telnet 192.168.1.8 3306 host 192.168.1.4 is not allowed to connect to this mysql ser ...
- 13.1 CentOS系统启动流程介绍
CentOS系统启动流程介绍 本章我们将学习 Linux 启动流程和内核模块管理相关的内容.通过本章我们将学习如下内容: Linux 系统的组成及特点 CentOS 系统的启动流程 开机启动成 gru ...
- list split批量处理
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-colle ...