[1.6+] email accentué => Fatal: Address in mailbox given does not comply with RFC 2822, 3.6.2



  • Prestashop utilise la librairie Swift version 4 pour envoyer les mails.
    Cette librarie applique un contrôle de la grammaire selon la RFC 2822 (avril 2001).
    Cette RFC a été remplacé par la RFC 6531 (février 2012).
    La librarie Swift n'intègre cette grammaire qu'a partir de la version 5.5+ (via package symfony).

    Pour admettre les emails accentués, il faut désactiver la génération d'erreur en cas de grammaire non reconnu.

    Dans le fichier tools/swift/classes/Swift/Mime/Headers/MailboxHeader.php aux alentours de la ligne @344

        private function _assertValidAddress($address)
        {
            if (!preg_match('/^'.$this->getGrammar()->getDefinition('addr-spec').'$/D',
                $address)) {
                if (0) throw new Swift_RfcComplianceException(
                    'Address in mailbox given ['.$address.
                    '] does not comply with RFC 2822, 3.6.2.'
                    );
            }
        }