qq邮箱高频率邮件来源自动屏蔽的信任办法

小熊 其他技巧评论3,616字数 2573阅读8分34秒阅读模式

qq邮箱高频率邮件来源自动屏蔽的信任办法

摘要:我们在使用QQ邮箱作为告警接收邮箱的时候,用了一段时间发现,告警邮箱再也没办法发出来了,非常的困惑,检查了全部的网络策略、dns、smtp服务器配置都没有问题,原来是qq邮箱的自动策略,在此记录。

python 测试smtp脚本

我们使用python的测试smtp脚本,无密码时使用,有密码时去掉注释

# -*- coding: utf-8 -*-
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib

def _format_addr(s):
    name, addr = parseaddr(s)
    return formataddr(( \
        Header(name, 'utf-8').encode(), \
        addr.encode('utf-8') if isinstance(addr, unicode) else addr))

from_addr = 'root@mymail.com'
to_addr = ['xxxx@163.com','xxx.qq.com'] 
#password = ''
smtp_server = 'mymail'

msg = MIMEText('hello, send by Python...', 'plain', 'utf-8')
msg['From'] = _format_addr(u'monitorcloud <%s>' % from_addr)
msg['To'] = _format_addr(u'管理员 <%s>' % to_addr)
msg['Subject'] = Header(u'来自SMTP的问候……', 'utf-8').encode()

server = smtplib.SMTP(smtp_server, 25)
server.set_debuglevel(1)
#server.starttls()
#server.login(from_addr, password)
server.sendmail(from_addr, to_addr, msg.as_string())
server.quit()

发送情景

qq邮箱高频率邮件来源自动屏蔽的信任办法

  • 发送到163邮箱是成功的
  • 但是发送到qq邮箱不行了

qq邮箱高频率邮件来源自动屏蔽的信任办法

  • 查/var/log/maillog 发现有如上报错信息

qq邮箱高频率邮件来源自动屏蔽的信任办法

  • 查QQ邮箱没有收到邮件
  • 有如上拦截信息

解决办法

qq邮箱高频率邮件来源自动屏蔽的信任办法

  • 进入反垃圾设置地址白名单和域名白名单

qq邮箱高频率邮件来源自动屏蔽的信任办法

qq邮箱高频率邮件来源自动屏蔽的信任办法

测试成功

qq邮箱高频率邮件来源自动屏蔽的信任办法

附SMTP错误码

·The server rejected the message: 554 DT:SPM smtp2 Cannot send message 451 MI:SFQ 0,smtp9,DcCowLD735x2fG1MgWLhAA--.11609S2 1282243
邮件服务器拒绝发送邮件,判断为发送垃圾邮件。建议您检查邮件内容,是否包含一些比较敏感的内容。

·Cannot send message data: 550 5.4.5 Daily sending quota exceeded. q31sm4299413ybk.1
不能发送邮件,每日发送额度用完。建议您控制此邮箱每天的发送量,今天发送量已经用完,需要明天才能继续发送。

·Recipient rejected: <xxx@yahoo.com>: 553 5.7.1 < xx@xx.com >: Sender address rejected: not owned by user xx@xx.com
发送邮箱地址被拒绝。建议您换个邮箱发送。

·Recipient rejected: <xxx@yahoo.co.uk>: 550 Your mailbox is full?
您的邮箱空间已满不能再发送邮件。建议您整理邮箱中的邮件。

·Cannot send message: 451 sorry, server closed?
不能发送,服务器已经关闭。建议您稍候再尝试邮件发送操作 。

·Recipient rejected: <xxx@yahoo.com>: 500 Error: bad syntax
收件人地址格式不正确。请核实收件人地址是否正确。

·421 Service not available, closing transmission channel (This may be a reply to any command if the service knows it must shut down)
服务暂时不可用!建议您稍候再尝试发送。

·450 Requested mail action not taken: mailbox unavailable (E.g., mailbox busy)
邮件发送请求没有发生:邮箱不可用(例如,邮箱忙)!建议您稍候再尝试!

·451 Requested action aborted: local error in processing
请求的邮件操作被中止:本地进程错误。建议您重新启动邮件营销助手来尝试发送

·550 Requested action not taken: mailbox unavailable (E.g., mailbox not found, no access)?
请求的操作未被执行:邮箱不可用(例如,邮箱未找到,不能访问)。建议您稍候再尝试。

·552 Requested mail action aborted: exceeded storage allocation
请求的邮件操作中止:超出存储分配。建议您整理邮箱中的邮件。

· 553 Requested action not taken: mailbox name not allowed (E.g., mailbox syntax incorrect)
请求的操作未被执行:不允许的邮箱名称(例如,邮箱的语法不正确的);

·550 5.3.4 Requested action not taken; This account is currently blocked from sending messages. If you don't think you've violated the Windows Live Terms of Use, please contact customer support
请求不采取行动,这是目前从帐户发送的邮件被阻止。如果您不认为您已经违反了Windows Live的使用条款,请联系其客户支持。

引用

常见SMTP发送失败原因列表

SMTP发送邮件

weinxin
公众号
扫码订阅最新深度技术文,回复【资源】获取技术大礼包
小熊