gpt4 book ai didi

python - @ 之前的 django EmailField 点

转载 作者:太空宇宙 更新时间:2023-11-03 15:10:51 27 4
gpt4 key购买 nike

我对 django EmailField 有同样的小问题。

forms.EmailField(required=True, label="E-mail", widget=forms.TextInput(attrs=

它不接受表单中的电子邮件

xx.@xxxxxxx.xxx

它返回格式不正确的错误消息,但电子邮件正常工作(电子邮件已有 15 年历史)。我认为 at-sign 之前的点是问题所在。

这是一个错误吗?是否有任何解决方案可以使其适用于此类电子邮件?

非常感谢:)

最佳答案

RFC 5321 ,第 4.2.1 节,地址的“本地部分”具有以下语法:

Local-part     = Dot-string / Quoted-string
; MAY be case-sensitive


Dot-string = Atom *("." Atom)

Atom = 1*atext

我对此的解释是,一个 Atom 必须至少有一个字符,一个 Dot-string 是一个或多个在它们之间有点的 Atom,而 Local-part 是一个 Dot-string 或一个 Quoted-字符串。

如果我解释正确,那么一个原子必须始终跟在一个点之后,您的电子邮件地址正式无效,例如连续两个点也是无效的。

即使像 GMail 这样的服务器选择只过滤掉本地部分的所有点并接受这些地址,但这并不能使它们正式有效。

引用本地部分 ("xx."@xxxx.xxx) 应该可以,但您也可以编写自定义验证器和您自己的 EmailField 子类。

关于python - @ 之前的 django EmailField 点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27036030/

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