Symfony中符合RFC 2822,3.6.2的电子邮件合规性和验证

问题描述 投票:0回答:1

我在通过Symfony Email Constraint验证用户电子邮件地址,然后尝试通过Swiftmailer向该用户发送邮件时遇到问题。

假设我的用户正在使用name @@ gmail.com注册(对于示例,双@是故意输入错误)。这已通过Symfony中的“电子邮件约束”验证成功验证,并且在我的数据库中创建了用户。

但是当我尝试使用Swiftmailer发送邮件时,出现500错误

给定[name @@ gmail.com]邮箱中的地址不符合RFC2822,3.6.2。

来自Swiftmailer本身。

知道如何正确解决此问题?

谢谢!

php symfony validation email swiftmailer
1个回答
0
投票

您可以启用strict mode in Symfony's EmailValidator,例如像这样:

strict

正如文档所说:

使用egulias / email-validator库执行符合RFC的验证。您需要安装该库才能使用此模式。

class Author { /** * @Assert\Email( * message = "The email '{{ value }}' is not a valid email.", * mode = "strict" * ) */ protected $email; } 也被SwiftMailer使用(请参阅Swiftmailer的egulias/email-validatorcomposer.json,因此这应该给您类似的验证结果。

© www.soinside.com 2019 - 2024. All rights reserved.