Простой способ настройки кодировщика адреса utf8Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Простой способ настройки кодировщика адреса utf8

Сообщение Anonymous »

Я использую 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();
Заранее спасибо, если кто-нибудь сможет помочь :)

Подробнее здесь: https://stackoverflow.com/questions/569 ... ss-encoder
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»