Я использую SwiftMailer 6.1 (последний на данный момент) для генерации сообщений электронной почты RFC 822.По умолчанию он использует IdnEncoder для адресов электронной почты, и этот код вызывает ошибку:
$message = new Swift_Message();
$message->addTo('straße@germany.de');
echo $message->toString();
// Swift_AddressEncoderException in IdnAddressEncoder.php line 40: Non-ASCII characters not supported in local-part
Я пытаюсь определить лучший / рекомендуемый / самый простой способ его настройки.
Мой лучшийПопытка использовать систему зависимостей SwiftMailer для изменения поведения, но это выглядит немного запутанным / не оптимальным.Можем ли мы сделать лучше?
$dependencies = Swift_DependencyContainer::getInstance();
$dependencies->register('mime.headerfactory')
->asNewInstanceOf('Swift_Mime_SimpleHeaderFactory')
->withDependencies([
'mime.qpheaderencoder',
'mime.rfc2231encoder',
'email.validator',
'properties.charset',
'address.utf8addressencoder', // default is 'address.idnaddressencoder'
]);
$message = new Swift_Message();
$message->addTo('straße@germany.de');
echo $message->toString();
Заранее спасибо, если кто-нибудь может помочь:)