python发送邮件拒绝_Python发送邮件smtplib.SMTP各报错问题的解决方法
经测试可用的发送邮件代码:
import smtplib
from email.mime.text import MIMEText
# 第三方 SMTP 服务
mail_host = "smtp.163.com" # SMTP服务器
mail_user = "username" # 用户名
mail_pass = "passwd" # 密码(这里的密码不是登录邮箱密码,而是授权码)
sender = 'sender_mail@163.com' # 发件人邮箱
receivers = ['receive_mail@qq.com'] # 接收人邮箱
content = 'Python Send Mail !'
title = 'Python SMTP Mail Test' # 邮件主题
message = MIMEText(content, 'plain', 'utf-8') # 内容, 格式, 编码
message['From'] = "{}".format(sender)
message['To'] = ",".join(receivers)
message['Subject'] = title
try:
smtpObj = smtplib.SMTP_SSL(mail_host, 465) # 启用SSL发信, 端口一般是465
smtpObj.login(mail_user, mail_pass) # 登录验证
smtpObj.sendmail(sender, receivers, message.as_string()) # 发送
print("mail has been send successfully.")
except smtplib.SMTPException as e:
print(e)
问题解决与注意点:
1.报错:Error: A secure connection is requiered(such as ssl)
解决:因为邮箱SSL验证的问题,因此把smtplib.SMTP()改成smtplib.SMTP_SSL(),端口号为465
2.报错:535, b'Error: authentication failed'
解决:可能是由于用户名不正确,因此代码中的用户名应该填写为邮箱地址@前面部分 ,或是在邮箱设置的帐户昵称,如下图昵称Morning和马赛克部分,都可作为用户名
3.SMTP服务器可根据发送的邮箱做相应的选择,如代码中使用163邮箱则设为mail_host = "smtp.163.com"
可以改成"smtp.126.com"、"smtp.qq.com"等等
4.代码中的密码mail_pass为授权码,并非邮箱密码,授权码用于登录第三方邮件客户端的专用密码
QQ邮箱可通过设置→帐户→生成授权码;网易邮箱126/163可通过设置→客户端授权密码
原文:https://blog.csdn.net/dearmorning/article/details/81069075
版权声明:本文为博主原创文章,转载请附上博文链接!
python发送邮件拒绝_Python发送邮件smtplib.SMTP各报错问题的解决方法相关推荐
- Python发送邮件smtplib.SMTP各报错问题的解决方法
Python发送邮件smtplib.SMTP各报错问题的解决方法 参考文章: (1)Python发送邮件smtplib.SMTP各报错问题的解决方法 (2)https://www.cnblogs.co ...
- python 安装库 报错 SSL: CERTIFICATE_VERIFY_FAILED 解决方法
目录 问题描述 临时解决方法 永久生效方法 问题描述 pip install virtualenv Collecting virtualenv /opt/python27/lib/python2.7/ ...
- python安装失败0x80070570_e460安装win10系统报错0x80070570的解决方法
win10系统现已逐渐成为了主流操作系统,很多用户都将自己的电脑升级为win10系统.但近日却有用户跟小编反映说自己的e460电脑在安装win10系统时出现了提示错误0x80070570情况,那我们要 ...
- python class函数报错_Python multiprocess pool模块报错pickling error问题解决方法分析
本文实例讲述了Python multiprocess pool模块报错pickling error问题解决方法.分享给大家供大家参考,具体如下: 问题 之前在调用class内的函数用multiproc ...
- python版本升级导致_python升级导致yum使用报错
今天计划安装walle2.0,按官方文档http://www.walle-web.io/docs/index.html一步步进行 进行到这一步突然报错 yum install -y mariadb-d ...
- python中利用lxml模块解析xml文件报错XMLSyntaxError: Opening and ending tag mismatch
今天在代码中第一次使用lxml解析xml文件时出错了, XMLSyntaxError: Opening and ending tag mismatch: keyEffectiveDate line 2 ...
- python程序在命令行执行提示ModuleNotFoundError: No module named ‘XXX‘ 解决方法
python程序在命令行执行提示ModuleNotFoundError: No module named 'XXX' 解决方法 参考文章: (1)python程序在命令行执行提示ModuleNotFo ...
- python open找不到文件的原因_浅谈python在提示符下使用open打开文件失败的原因及解决方法...
题目:在提示符下使用open打开一个文件 刚开始网上看了下打开的方式,结果一直实现不了,报错是没找到这个文件,而且和我输入的文件名不一样. 错误如下: >>>open('d:\456 ...
- python modulenotfounderror_python 服务器运行代码报错ModuleNotFoundError的解决办法
一.问题描述 一段 Python 代码在本地的 IDE 上运行正常,部署到服务器运行后,出现了 ModuleNotFoundError: No module named 'xxx" 错误. ...
最新文章
- 和SAP Sales Organization相关的一些有用函数
- 页表长度和页表大小_在请求调页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起( ) 。_学小易找答案...
- mysql_install_db: /usr/bin/perl: bad interpreter:
- nginx 跨服务器显示图片,centos6.6下nginx配置远程服务器上图片访问
- mysql 数据备份方案_MySQL常见备份方案
- 如何一本正经地写出别人无法维护的代码?
- 解决vue2.0路由 TypeError: Cannot read property ‘matched‘ of undefined 的错误问题
- 印地语自由对话语音识别数据库-200人
- Composite UI Application Block(Cab)比较详细的一片文章
- 微软切断XP供应 Vista成制造商惟一选择
- CentOS7.5搭建ELK6.2.4集群与简单测试
- Vue3.0中文地址文档
- Til the Cows Come Home-Poj2387(最短路)
- 语法练习——动名词专项训练
- Beego 简单用户注册与登录
- 今年最后一月数据库排名公布!前三难以撼动!
- 全球及中国铁路行业十四五规划目标与投资建设状况分析报告2021版
- matlab解决根据营养成分表搭配营养配方
- 6angular1、jquery实现无限表单效果
- 为了圆梦黑客,大学四年自学计算机总结的经验全部无偿分享
热门文章
- 智能家庭娱乐与智能家居娱乐系统
- HTML5移动开发的基础与技巧(一)HTML5新增标签及应用场景
- 省级刊物发表方法步骤
- 软考之信息系统运行管理员(包含2006、2018历年真题详解+课本教材讲义)
- [RFID]射频卡介绍(二)IC-Mifare(M1)
- 数据驱动的领导力:如何通过数据分析来提升领导力和决策能力
- 查看gcc/g++版本以及对应默认的的C++标准
- 基于微信小程序的旅游系统设计与实现(毕业论文)
- OpenCV--圆检测
- python center函数_利用Python函数实现一个万历表完整示例