我试过在python中玩耍以了解更多关于smtp协议。更确切地说,我一直在试图直接向主机的SMTP服务器发送邮件,但收效甚微。SMTP直接到主机的MX记录
例如,假设我想将邮件发送到gmail.com地址,我查找的MX记录gmail.com:
>> nslookup -type=MX gmail.com
gmail.com MX preference = 40, mail exchanger = alt4.gmail-smtp-in.l.google.com
gmail.com MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com
gmail.com MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google.com
那我该在python以下几点:
import smtplib
# Tried both port 465 and 587 (can't test port 25 since it's blocked by my ISP)
s = smtplib.SMTP("alt1.gmail-smtp-in.l.google.com", 587)
我试了,和适合所有人,但一个我一直有一个:
“[错误10051]套接字操作试图无法访问网络”或
“[Errno 10060]连接尝试失败,因为连接方在一段时间后未正确响应,或建立的连接失败,因为连接的主机未能响应”“异常。
我在某处读某些邮件服务器对您的IP进行反向查找,并在它没有域的情况下拒绝连接。他们如何做到这一点?
我也读过很多邮件服务器拒绝来自动态IP地址(我显然作为私人客户到我的ISP)的邮件。他们如何检查IP地址是动态的还是静态的?
这些是大多数服务器似乎拒绝我的连接的原因吗?还是有更多的东西呢?
负责任的ISP将其动态IP范围提交给公共垃圾邮件阻止列表。其他人必须被强迫或猜测,或许是基于他们反向DNS中的命名模式,或者在最坏的情况下是批量阻止。 – tripleee