python发送邮件554DT:SPM已解决
说明:本例使用163邮箱
一、报错信息
使用SMTP发送邮件遇到以下报错:
554, b'DT:SPM 163 smtp10,DsCowACXeOtmjRRdsY8aCw--.21947S2 1561628007,please see http://mail.163.com/help/help_spam_16.htm?ip=36.110.94.251&hostid=smtp10&time=1561628007'
二、排查原因
1.检查163邮箱是否设置授权码,授权码对不对。不对会报错:535, b'Error: authentication failed'

2.检查代码邮件格式规范
下面贴出菜鸟教程部分代码使用header。看已发送邮件的确是显示了发件人别名(显示代发),收件人看到的发件人也是自己起的别名。如下图:
# -*- coding: utf-8 -*-
# Nola import smtplib
from email.mime.text import MIMEText
from email.header import Header
import time mail_server = "smtp.163.com"
mail_port = 25
sender = "xxxxx@163.com"
sender_password = "xxxxxx" # 授权码
receivers = "wewewwe@163.com" message = MIMEText('Python邮件发送测试...', 'plain', 'utf-8')
# message['From'] = sender
# message['To'] = receivers
message['From'] = Header("菜鸟教程", 'utf-8')
message['To'] = Header("测试", 'utf-8') send_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
subject = '邮件测试' + send_time
message['Subject'] = subject try:
smtp_obj = smtplib.SMTP()
smtp_obj.connect(mail_server, mail_port)
smtp_obj.login(sender, sender_password)
smtp_obj.sendmail(sender, [receivers], message.as_string())
print('success!')
except smtplib.SMTPException as e:
print('failure!')
print(e)

重点是:收到几封邮件后,收不到了,换收件人也收不到,猜测是163禁发了。点上图中帮助可以看到下图,所以善意的伪装也会产生误会。

三、解决方法
From和To使用发件人和收件人真实邮箱地址,发送即可成功。

# -*- coding: utf-8 -*-
# Nola import smtplib
from email.mime.text import MIMEText
import time mail_server = "smtp.163.com"
mail_port = 25
sender = "xxxxx@163.com"
sender_password = "xxxxxx" # 授权码
receivers = "wewewwe@163.com" message = MIMEText('Python邮件发送测试...', 'plain', 'utf-8')
message['From'] = sender
message['To'] = receivers send_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
subject = '邮件测试' + send_time
message['Subject'] = subject try:
smtp_obj = smtplib.SMTP()
smtp_obj.connect(mail_server, mail_port)
smtp_obj.login(sender, sender_password)
smtp_obj.sendmail(sender, [receivers], message.as_string())
print('success!')
except smtplib.SMTPException as e:
print('failure!')
print(e)
python发送邮件554DT:SPM已解决的更多相关文章
- 已解决】Sublime中运行带input或raw_input的Python代码出错:EOFError: EOF when reading a line(转)
[问题] 在折腾: [已解决]Sublime Text 2中运行Python程序出错:The system cannot find the file specified 的过程中,虽然解决了找不到py ...
- 【已解决】python中文字符乱码(GB2312,GBK,GB18030相关的问题)
http://againinput4.blog.163.com/blog/static/1727994912011111011432810/ [已解决]python中文字符乱码(GB2312,GB ...
- 【已解决】BeautifulSoup已经获得了Unicode的Soup但是print出来却是乱码
[问题] 某人遇到的问题: 关于BeautifulSoup抓取表格及SAE数据库导入的问题(跪求大神帮忙) 简单说就是: 用如下代码: ? 1 2 3 4 5 6 7 import re,urllib ...
- ETL过程跑完后,使用python发送邮件
目标库中,如果有行数为0的表,使用python发送邮件 # -*- coding:utf-8 -*- # Author: zjc # Description:send monitor info to ...
- 【转】【Python】Python发送邮件(常见四种邮件内容)
在写脚本时,放到后台运行,想知道执行情况,会通过邮件.SMS(短信).飞信.微信等方式通知管理员,用的最多的是邮件.在linux下,Shell脚本发送邮件告警是件很简单的事,有现成的邮件服务软件或者调 ...
- Python发送邮件(常见四种邮件内容)
Python发送邮件(常见四种邮件内容) 转载 2017年03月03日 17:17:04 转自:http://lizhenliang.blog.51cto.com/7876557/1875330 ...
- python发送邮件
python发送邮件(无附件) ======================================================= #!/usr/bin/env python#coding ...
- python发送邮件及附件
今天给大伙说说python发送邮件,官方的多余的话自己去百度好了,还有一大堆文档说实话不到万不得已的时候一般人都不会去看,回归主题: 本人是mac如果没有按照依赖模块的请按照下面的截图安装 导入模块如 ...
- Microsoft.Office.Interop.Excel, Version=12.0.0.0版本高于引用的程序集(已解决)
Microsoft.Office.Interop.Excel, Version=12.0.0.0版本高于引用的程序集(已解决) 论坛里的帮助:http://bbs.csdn.net/topics/39 ...
随机推荐
- PAT 1001-1010 题解
早期部分代码用 Java 实现.由于 PAT 虽然支持各种语言,但只有 C/C++标程来限定时间,许多题目用 Java 读入数据就已经超时,后来转投 C/C++.浏览全部代码:请戳 本文谨代表个人思路 ...
- python去噪算法
<programming computer vision with python >中denoise 算法有误,从网上好了可用的代码贴上,以便以后使用. 书中错误的代码: def deno ...
- CUDA线程协作之共享存储器“__shared__”&&“__syncthreads()”
在GPU并行编程中,一般情况下,各个处理器都需要了解其他处理器的执行状态,在各个并行副本之间进行通信和协作,这涉及到不同线程间的通信机制和并行执行线程的同步机制. 共享内存"__share_ ...
- QList介绍(QList比QVector更快,这是由它们在内存中的存储方式决定的。QStringList是在QList的基础上针对字符串提供额外的函数。at()操作比操作符[]更快,因为它不需要深度复制)非常实用
FROM:http://apps.hi.baidu.com/share/detail/33517814 今天做项目时,需要用到QList来存储一组点.为此,我对QList类的说明进行了如下翻译. QL ...
- UVA - 10312 Expression Bracketing
Description Problem A Expression Bracketing Input: standard input Output: standard output Time Limit ...
- OpenMP中的同步和互斥
在多线程编程中必须考虑到不同的线程对同一个变量进行读写访问引起的数据竞争问题.如果线程间没有互斥机制,则不同线程对同一变量的访问顺序是不确定的,有可能导致错误的执行结果. OpenMP中有两种不同类型 ...
- PO、VO、BO、DTO、POJO、DAO之间的关系
J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...
- 构建自己的PHP框架(视图装载)
完整项目地址:https://github.com/Evai/Aier 视图装载类要做的工作其实很简单: 1. 根据视图名称找到视图文件,支持文件夹 2. 更加方便,更加优雅地把变量的值传递进视图 本 ...
- Invalid default value for 'created_at'
https://github.com/laravel/framework/issues/15144 https://stackoverflow.com/questions/30555844/larav ...
- 合并 && 还原属性链
效果 原数据 { "id": 10, "text": { "title": "title", "content ...