python snmplib: AUTH extension not supported by server & 554
SNMP AUTH extension not supported by server
import ssl context = ssl.create_default_context() with smtplib.SMTP(smtp_config["hostname"], smtp_config["port"]) as smtp_server: smtp_server.starttls(context=context) smtp_server.login(smtp_config["username"], smtp_config["password"]) smtp_server.sendmail(sender, receivers, message.as_string())
我们平时自己使用客户端,如果我们对安全策略要求不高,最好把create_default_context() 加上create_default_context()函数来创建 SSL 上下文。 它将加载系统的可信 CA 证书,启用证书验证和主机名检查,并尝试选择合理安全的协议和密码设置。
我自己测试outlook的smtp server的时候,如果不加ssl,验证基本不通过。
554状态码
# 消息部分的收发 message.add_header("from", "*****@outlook.com") message.add_header("to","*****@126.com") # 与方法调用部分的收发如果不一致就不行,不是@这种格式也不行 smtp_server.sendmail(sender, receivers, message.as_string())
554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件;
554 DT:SUM 信封发件人和信头发件人不匹配;
我触发的是第二种情况
在做message消息的时候,如果消息中的,from和to与你在调用sendmail的时候,写的收件人和发从者不匹配,或者是信息格式(就是不是@这种)不对都会报554