簡體   English   中英

Symfony 中使用 RFC 2822、3.6.2 的電子郵件合規性和驗證

[英]Email compliance and validation with RFC 2822, 3.6.2 in Symfony

我在通過Symfony Email Constraint驗證用戶電子郵件地址然后嘗試通過Swiftmailer向該用戶發送郵件時遇到問題

假設我的用戶正在使用name@@gmail.com 進行注冊(雙@是該示例的故意拼寫錯誤)。 這已通過 Symfony 中的電子郵件約束驗證成功驗證,並且用戶已在我的數據庫中創建。

但是當我嘗試使用 Swiftmailer 發送郵件時,出現500 錯誤

給定的郵箱地址 [name@@gmail.com] 不符合 RFC 2822, 3.6.2。

來自 Swiftmailer 本身。

您可以在 Symfony 的 EmailValidator 中啟用strict模式,例如:

class Author
{
    /**
     * @Assert\Email(
     *     message = "The email '{{ value }}' is not a valid email.",
     *     mode = "strict"
     * )
     */
    protected $email;
}

正如文檔所說:

使用 egulias/email-validator 庫來執行符合 RFC 的驗證。 您需要安裝該庫才能使用此模式。

SwiftMailer 也使用egulias/email-validator (參見 Swiftmailer 的composer.jsonPathHeader ),所以這應該給你類似的驗證結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM