我在通过Symfony Email Constraint验证用户电子邮件地址,然后尝试通过Swiftmailer向该用户发送邮件时遇到问题。
假设我的用户正在使用name @@ gmail.com注册(对于示例,双@是故意输入错误)。这已通过Symfony中的“电子邮件约束”验证成功验证,并且在我的数据库中创建了用户。
但是当我尝试使用Swiftmailer发送邮件时,出现500错误
给定[name @@ gmail.com]邮箱中的地址不符合RFC2822,3.6.2。
来自Swiftmailer本身。
知道如何正确解决此问题?
谢谢!
您可以启用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-validator和composer.json,因此这应该给您类似的验证结果。