Vin*_*inZ 2 php swiftmailer symfony symfony-validator
我在通过Symfony Email Constraint验证用户电子邮件地址,然后尝试通过Swiftmailer向该用户发送邮件时遇到问题。
假设我的用户正在使用name@@gmail.com注册(双@是示例中的故意拼写错误)。Symfony 中的电子邮件约束验证已成功验证这一点,并且在我的数据库中创建了该用户。
但是当我尝试使用 Swiftmailer 发送邮件时,出现500 错误
给定的邮箱地址 [name@@gmail.com] 不符合 RFC 2822, 3.6.2。
来自 Swiftmailer 本身。
strict您可以在 Symfony 的 EmailValidator 中启用该模式,例如:
class Author
{
/**
* @Assert\Email(
* message = "The email '{{ value }}' is not a valid email.",
* mode = "strict"
* )
*/
protected $email;
}
Run Code Online (Sandbox Code Playgroud)
正如文档所说:
使用 egulias/email-validator 库执行符合 RFC 的验证。您需要安装该库才能使用此模式。
SwiftMailer 也使用 egulias/email-validator (请参阅 Swiftmailer 的composer.json和PathHeader),因此这应该会给您类似的验证结果。