smtplib.SMTPConnectError: (554, b‘Local Policy Violation‘)
smtplib.SMTPConnectError: (554, b’Local Policy Violation’)
当python用SMTP来发送邮件出现554这个错误的时候,我们该怎么办
首先这个问题是权限问题,你用来发送邮件的这个服务器,不在接收服务器的白名单里面,使得发送邮件一直被拒绝访问,视作垃圾邮件。这样因为一些客户的环境就使得我们很难受了,那面对这种问题我们要怎么解决,首先我们要确定接收邮件的服务器的白名单的IP地址是多少。因为只有确认这一步才开始下面的步骤,不然就无法运行
确定好白名单的ip地址之后我们就先绑定白名单的ip地址,使得我们成功发送邮件
具体代码实现步骤
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
import socket
import smtplib
from email.mime.text import MIMEText
from email.header import Headerdef sendMailBySocket(sender, receiver, data):"""@description: 使用socket方式发送邮件:param sender: 发件人邮箱:param receiver: 收件人邮箱:param data: 邮件内容:return: BOOL"""s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 要被绑定白名单的ip地址,s.bind(('xxx.xxx.xxx.xxx', 0))try:# 连接smtp servers.connect(('xxx.xxx.xxx.xxx', 25)) #STMP服务器地址# s.send("EHLO server\r\n".encode(encoding='utf-8'))s.send("MAIL FROM:{}\r\n".format(sender).encode(encoding='utf-8'))s.send("RCPT TO:{}\r\n".format(receiver).encode(encoding='utf-8'))s.send("DATA\r\n".encode(encoding='utf-8'))s.send(data.encode('utf-8'))s.send("\r\n.\r\n".encode(encoding='utf-8'))print(s.recv(1024))#这句不能删,否则会无法发送出去s.send("QUIT\r\n".encode(encoding='utf-8'))return Trueexcept Exception as e:print(e)return Falsefinally:s.close()def sendmail():sender = 'from@runoob.com'receivers = ['429240967@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱# 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码message = MIMEText('Python 邮件发送测试...', 'plain', 'utf-8')message['From'] = Header("菜鸟教程", 'utf-8') # 发送者message['To'] = Header("测试", 'utf-8') # 接收者subject = 'Python SMTP 邮件测试'message['Subject'] = Header(subject, 'utf-8')try:sendMailBySocket(sender, receivers, message.as_string())if result is True:print('send success')else:print('send fail')except smtplib.SMTPException:print("Error: 无法发送邮件") sendmail()
smtplib.SMTPConnectError: (554, b‘Local Policy Violation‘)相关推荐
- 你想要的完整解决Python smtplib使用163发送邮件时出现 •554 DT:SPM错误smtplib.SMTPDataError: (554, 'DT:SPM 163 smtp5,HdxpC
最近在学习Python于是自己写了个小脚本测试使用smtp发送邮件,一切ok后出现如下错误: smtplib.SMTPDataError: (554, 'DT:SPM 163 smtp1,GdxpCg ...
- 天天生鲜 smtplib.SMTPDataError: (554, b'DT:SPM 163 smtp13
问题描述 Python3.5 + Django2.2 天天生鲜项目在[3-07_django内置函数发送激活邮件]一节中填写完注册信息后提交时出现如下报错: Internal Server Error ...
- python自动发邮件报554错误_python-自动化测试结果发送邮件报错(smtplib.SMTPDataError: (554, b'DT:SPM 163……)解决方法...
先把我的邮件发送脚本粘贴上来吧,再解释下我的报错和解决方法: import smtplib,email,os,time,yagmail from email.mime.multipart import ...
- smtplib.SMTPDataError: (554, b'DT:SPM 163 smtp10,DsCowAA3nir1u6xZq42WDw--.22935S2 1504492533,please
1 # from email.mime.text import MIMEText 2 # 3 # msg = MIMEText('hello, send by Python...', 'plain', ...
- python自动发邮件报554错误_python3 使用smtplib发送邮件错误554
python3使用smtplib和MIME发送邮件失败 代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18from smtplib import SMTP ...
- smtplib python_smtplib —SMTP协议客户端
### 导航 - [索引](../genindex.xhtml "总目录") - [模块](../py-modindex.xhtml "Python 模块索引" ...
- python:smtplib --- SMTP 协议客户端
python:smtplib --- SMTP 协议客户端 简介 SMTP 对象 SMTP 示例 简介 smtplib 模块定义了一个 SMTP 客户端会话对象,该对象可将邮件发送到互联网上任何带有 ...
- Cisco策略路由(policy route)精解
注:PBR以前是CISCO用来丢弃报文的一个主要手段.比如:设置set interface null 0,按CISCO说法这样会比ACL的deny要节省一些开销.这里我提醒: interface nu ...
- 路由-策略Policy(路由重分发、路由过滤、路由策略)
Preifx-list前缀列表,用于抓取路由: Distribute-list分发列表,用于RIP和EIGRP过滤路由: Filter-list过滤列表,用于OSPF过滤路由: Route-map路由 ...
最新文章
- java怎么运行class文件,面试必会
- redis之intset
- js读取div从html中导入,在html中div+css布局的简单应用...-js+div+css下拉导航菜单完整代...-CSS文件的条件导入 - Gene Li_169IT.COM...
- 【STM32】FreeRTOS创建和删除任务示例(动态方法)
- LeetCode刷题(33)
- “仁、义、礼、智、信、恕、忠、孝、悌、、节、恕、勇、让”
- srs流媒体服务器+obs推流(简单)
- ap9h4qmo.exe
- 自动化C语言第一次月考试卷,c语言程序设计第一次月考试题
- 算法学习01- 生兔子的问题
- Velodyne 64线激光雷达协议
- esp32 + tft +分光棱镜 透明小电视笔记
- 使用Java实现MP3音乐播放
- 精心整理的Java学习顺序流程和学习方法
- Duplicate Removal
- 【码上实战】【立体匹配系列】经典AD-Census: (6)多步骤视差优化
- corelDRAW制作笔
- Springboot跨域配置报错:When allowCredentials is true, allowedOrigins cannot contain the specia
- MT管理器 – 超强的手机文件管理器
- 【用户画像】用户画像添加标签、定义标签任务、搭建工程