gpt4 book ai didi

Delphi:无需正则表达式即可验证电子邮件

转载 作者:行者123 更新时间:2023-12-03 14:52:34 27 4
gpt4 key购买 nike

由于 Delphi 没有内置任何正则表达式库,您是否见过一个仅使用 Delphi RTL/VCL 至少在某种程度上验证电子邮件地址的好函数?

我不想将额外的 *.dll 链接到集成正则表达式支持的产品,并且我还需要 Delphi 7 兼容性。将正则表达式库嵌入到 exe 中会增加其大小,我怀疑是否值得添加下一个 100k,因为您只需要 10-50 行电子邮件验证功能。

最佳答案

电子邮件地址验证的最大问题是 RFC 822范围如此广泛,任何正则表达式都无济于事。

文章I Knew How To Validate An Email Address Until I Read The RFC很好地描述了这一点。
它引用了 RFC 本地部分必须仅由地址的域部分中指定的主机来解释和分配语义(本地部分 之前的部分) code>@ 登录电子邮件地址)。

所以:
检查电子邮件地址是否有效的唯一方法是设置与接受该特定域的邮件的主机的 SMTP 连接,并使用您尝试验证的电子邮件地址启动电子邮件握手过程。

这就是许多反垃圾邮件软件验证发件人电子邮件地址的方法:它们联系电子邮件发件人的 SMTP 服务器,尝试设置 SMTP 握手,如果一切正常,它们会对传入电子邮件进行评级因为更喜欢不成为垃圾邮件。

可以使用Indy SMTP客户端组件发送邮件;接受的答案 this question解释了如何操作。

--杰罗恩

关于Delphi:无需正则表达式即可验证电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3565692/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com