【发布时间】:2010-10-08 05:58:51
【问题描述】:
我有大量的电子邮件地址要验证。最初我用一个正则表达式解析它们以抛出完全疯狂的那些。我留下了那些看起来很合理但仍然可能包含错误的东西。
我想查找哪些地址具有有效域,所以给我@abcxyz.com 我想知道是否可以向 abcxyz.com 发送电子邮件。
我想测试它是否对应于有效的 A 或 MX 记录 - 有没有一种简单的方法可以只使用 Python 标准库来做到这一点?我宁愿不为我的项目添加额外的依赖项来支持此功能。
【问题讨论】:
-
严格来说,即使没有 MX 记录,域也可以接收邮件。 rfc2811,第 5 节描述了对 A 记录的回退。我会考虑玩 smtp 会话的部分内容(直到 RCPT TO:)
-
@hop:我不知道回退,谢谢参考。我认为您的意思是 RFC 2821?
-
无论如何,经过思考,我得出的结论是,最好不要进行先发制人的验证,而只做时事通讯(我认为这是拥有列表的原因)并收集之后反弹。
-
RFC 2821 已过时,请参阅 RFC 5321。回退现在不仅适用于 A 记录,也适用于 AAAA 记录。
-
使用正则表达式解析电子邮件地址是不现实的,并且会导致许多误报。见stackoverflow.com/questions/201323/201378