【场景】

通过126邮箱向QQ邮箱发送HTML格式邮件

【代码1】

from email.mime.text import MIMEText
from email.header import Header
import smtplib #发送邮件服务器
smtpserver = 'smtp.126.com' #邮箱账号/密码
user = 'testaccount@126.com'
password = 'testpassword' #发件箱
sender = 'testaccount@126.com' #收件箱
receiver = 'qqaccount@qq.com' #主题
subject = 'Python email test1' #正文
msg = MIMEText('<html><h1>Hello Python!</h1></html>','html','utf-8')
msg['Subject'] = Header(subject,'utf-8') smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(user,password)
smtp.sendmail(sender,receiver,msg.as_string())
smtp.quit()

【问题1】

smtplib.SMTPAuthenticationError:(550)

【解决方法】

1.登录126邮箱,开启并设置授权码:

【问题2】

smtplib.SMTPAuthenticationError:(535,b'Error:authentication failed')

【解决方法】

1.代码password = 'testpassword'中的‘testpassword’替换为授权码

【问题3】

smtplib.SMTPDataError: (554, b'DT:SPM 126 smtp1,C8mowAAXPo5jWY9bl9rtGw--.23873S2
1536121187,please see http://mail.163.com/help/help_spam_16.htm?ip=119.137.54.3
7&hostid=smtp1&time=1536121187')

【解决方法】

添加发件人、收件人,完整代码如下:

from email.mime.text import MIMEText
from email.header import Header
import smtplib #发送邮件服务器
smtpserver = 'smtp.126.com' #邮箱账号/密码
user = 'testaccount@126.com'
password = 'Authcode' #发件箱
sender = 'testaccount@126.com' #收件箱
receiver = 'qqaccount@qq.com' #主题
subject = 'Python email test1' #正文
msg = MIMEText('<html><h1>Hello Python!</h1></html>','html','utf-8')
msg['Subject'] = Header(subject,'utf-8')
msg['From'] = sender
msg['To'] = receiver smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(user,password)
smtp.sendmail(sender,receiver,msg.as_string())
smtp.quit()

【运行效果】

【附录】

126/163邮箱退信代码说明 链接:http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.html

退信代码说明: 
  •421 HL:REP 该IP发送行为异常,存在接收者大量不存在情况,被临时禁止连接。请检查是否有用户发送病毒或者垃圾邮件,并核对发送列表有效性;
  •421 HL:ICC 该IP同时并发连接数过大,超过了网易的限制,被临时禁止连接。请检查是否有用户发送病毒或者垃圾邮件,并降低IP并发连接数量;
  •421 HL:IFC 该IP短期内发送了大量信件,超过了网易的限制,被临时禁止连接。请检查是否有用户发送病毒或者垃圾邮件,并降低发送频率;
  •421 HL:MEP 该IP发送行为异常,存在大量伪造发送域域名行为,被临时禁止连接。请检查是否有用户发送病毒或者垃圾邮件,并使用真实有效的域名发送;
  •450 MI:CEL 发送方出现过多的错误指令。请检查发信程序;
  •450 MI:DMC 当前连接发送的邮件数量超出限制。请减少每次连接中投递的邮件数量;
  •450 MI:CCL 发送方发送超出正常的指令数量。请检查发信程序;
  •450 RP:DRC 当前连接发送的收件人数量超出限制。请控制每次连接投递的邮件数量;
  •450 RP:CCL 发送方发送超出正常的指令数量。请检查发信程序;
  •450 DT:RBL 发信IP位于一个或多个RBL里。请参考http://www.rbls.org/关于RBL的相关信息;
  •450 WM:BLI 该IP不在网易允许的发送地址列表里;
  •450 WM:BLU 此用户不在网易允许的发信用户列表里;
  •451 DT:SPM ,please try again 邮件正文带有垃圾邮件特征或发送环境缺乏规范性,被临时拒收。请保持邮件队列,两分钟后重投邮件。需调整邮件内容或优化发送环境;
  •451 Requested mail action not taken: too much fail authentication 登录失败次数过多,被临时禁止登录。请检查密码与帐号验证设置;
  •451 RP:CEL 发送方出现过多的错误指令。请检查发信程序;
  •451 MI:DMC 当前连接发送的邮件数量超出限制。请控制每次连接中投递的邮件数量;
  •451 MI:SFQ 发信人在15分钟内的发信数量超过限制,请控制发信频率;
  •451 RP:QRC 发信方短期内累计的收件人数量超过限制,该发件人被临时禁止发信。请降低该用户发信频率;
  •451 Requested action aborted: local error in processing 系统暂时出现故障,请稍后再次尝试发送;
  •500 Error: bad syntaxU 发送的smtp命令语法有误;
  •550 MI:NHD HELO命令不允许为空;
  •550 MI:IMF 发信人电子邮件地址不合规范。请参考http://www.rfc-editor.org/关于电子邮件规范的定义;
  •550 MI:SPF 发信IP未被发送域的SPF许可。请参考http://www.openspf.org/关于SPF规范的定义;
  •550 MI:DMA 该邮件未被发信域的DMARC许可。请参考http://dmarc.org/关于DMARC规范的定义;
  •550 MI:STC 发件人当天的连接数量超出了限定数量,当天不再接受该发件人的邮件。请控制连接次数;
  •550 RP:FRL 网易邮箱不开放匿名转发(Open relay);
  •550 RP:RCL 群发收件人数量超过了限额,请减少每封邮件的收件人数量;
  •550 RP:TRC 发件人当天内累计的收件人数量超过限制,当天不再接受该发件人的邮件。请降低该用户发信频率;
  •550 DT:SPM 邮件正文带有很多垃圾邮件特征或发送环境缺乏规范性。需调整邮件内容或优化发送环境;
  •550 Invalid User 请求的用户不存在;
  •550 User in blacklist 该用户不被允许给网易用户发信;
  •550 User suspended 请求的用户处于禁用或者冻结状态;
  •550 Requested mail action not taken: too much recipient  群发数量超过了限额;
  •552 Illegal Attachment 不允许发送该类型的附件,包括以.uu .pif .scr .mim .hqx .bhx .cmd .vbs .bat .com .vbe .vb .js .wsh等结尾的附件;
  •552 Requested mail action aborted: exceeded mailsize limit 发送的信件大小超过了网易邮箱允许接收的最大限制;
  •553 Requested action not taken: NULL sender is not allowed 不允许发件人为空,请使用真实发件人发送;
  •553 Requested action not taken: Local user only  SMTP类型的机器只允许发信人是本站用户;
  •553 Requested action not taken: no smtp MX only  MX类型的机器不允许发信人是本站用户;
  •553 authentication is required  SMTP需要身份验证,请检查客户端设置;
  •554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件;
  •554 DT:SUM 信封发件人和信头发件人不匹配;
  •554 IP is rejected, smtp auth error limit exceed 该IP验证失败次数过多,被临时禁止连接。请检查验证信息设置;
  •554 HL:IHU 发信IP因发送垃圾邮件或存在异常的连接行为,被暂时挂起。请检测发信IP在历史上的发信情况和发信程序是否存在异常;
  •554 HL:IPB 该IP不在网易允许的发送地址列表里;
  •554 MI:STC 发件人当天内累计邮件数量超过限制,当天不再接受该发件人的投信。请降低发信频率;
  •554 MI:SPB 此用户不在网易允许的发信用户列表里;
  •554 IP in blacklist 该IP不在网易允许的发送地址列表里。

【Selenium】【BugList10】smtp发送邮件问题汇总:550/535/554的更多相关文章

  1. python实战===使用smtp发送邮件的源代码,解决554错误码的问题,更新版!

    import smtplib from email.mime.text import MIMEText from email.header import Header import time #密文输 ...

  2. python通过SMTP发送邮件失败,报错505/535

    python通过SMTP发送邮件失败:错误1:smtplib.SMTPAuthenticationError: (550, b'User has no permission')    我们使用pyth ...

  3. SMTP ERROR: Password command failed: 535 Incorrect authentication data

    在处理一个使用PHPMailer来发送电邮,我在本地使用我的163邮箱来做测试发送电邮,能够成功的发送电邮:当上传到正式平台时,出现了,类似这样的错误信息 SMTP ERROR: Password c ...

  4. php用smtp发送邮件

    php用smtp发送邮件 1.其实用smtp协议发送邮件很简单,用框架或者原生都可以,我们需要用到class.phpmailer.php 和class.smtp.php,大家可以去网上下载. 这是一个 ...

  5. phpmailer,smtp发送邮件实例(转)

    一,用phpmailer发送邮件 查看复制打印? <?php   include "class.phpmailer.php";    //包函邮件发送类      //邮件发 ...

  6. linux 下 用phpmailer类smtp发送邮件始终不成功,提示:ERROR: Failed to co

    https://zhidao.baidu.com/question/509191264.html?fr=iks&word=PHPMailerSMTP+connect()+failed& ...

  7. python大法好——Python SMTP发送邮件

    Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. py ...

  8. 运维监控-Zabbix Server 使用QQ SMTP发送邮件报警及定制报警内容

    运维监控-Zabbix Server 使用QQ SMTP发送邮件报警及定制报警内容 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客采用腾讯邮箱,想必大家都对QQ很了解,所以 ...

  9. gitlab配置通过smtp发送邮件(QQ exmail腾讯企业为例)

    gitlab配置通过smtp发送邮件(QQ exmail腾讯企业为例) 首先祭出官网文档链接:https://docs.gitlab.com/omnibus/settings/smtp.html 其实 ...

随机推荐

  1. Swoft 缓存及Redis使用

    配置 修改 /config/properties/cache.php 文件 return [ 'redis' => [ 'name' => 'redis', 'uri' => [ ' ...

  2. (英文版)VScode一键生成.vue模板

    1. 安装vscode,官网地址 2.安装一个插件,识别vue文件 插件库中搜索Vetur,下图中的第一个,点击安装(Install) 3.新建代码片段 点击Code(代码)-Preferences( ...

  3. form的submit()方法不能触发onsubmit事件的解决方法,兼容各版本浏览器。

    在处理表单提交的时候遇到一个问题,通常用<input type="submit" value="提交" />按钮来提交form,再监听form的on ...

  4. 【C++】C++中int与string的相互转换

    一.int转string 1.c++11标准增加了全局函数std::to_string: string to_string (int val); string to_string (long val) ...

  5. 吴裕雄 python深度学习与实践(17)

    import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import time # 声明输 ...

  6. H5-手机震动

    //手机震动function vibration(){ navigator.vibrate = navigator.vibrate || navigator.webkitVibrate || navi ...

  7. Linux之ansible 常用模块

    目的 代码发布系统 代码发布:把本地的代码通过某些方式弄到线上,可以供别人访问 部署 前戏 ansible 批量在远程主机上执行命令 puppet ruby ansible saltstack pyt ...

  8. QT Designer基础——登录界面设计基础版

    认识QT Designer提供的可选控件:以下八个大类 Layouts:布局相关 Spacers:留空 Buttons:可点击的按钮类 Item Views和 Item Widgets:高级控件,例如 ...

  9. CentOS7+CDH5.14.0安装CDH错误排查: HiveServer2 该角色的进程已退出。该角色的预期状态为已启动

    错误提示: HiveServer2 该角色的进程已退出.该角色的预期状态为已启动 解决办法:出现此问题应该是内存不足造成的,重启相应的组件即可.比如Hive报错,重启Hive,YARN报错,重启YAR ...

  10. 制作docker基础镜像

    docker build -t tomcat:jre8-alpine . sudo docker tag 5a3 registry.cn-shenzhen.aliyuncs.com/ibase/tom ...