Можно ли отправить электронное письмо на адрес, содержащий латинские символы Юникода с помощью cfmail? - PullRequest
6 голосов
/ 22 ноября 2011

Нам нужно иметь возможность отправить электронное письмо с cfmail на адрес электронной почты, который содержит латинский a с острым.Я предполагаю, что нам в конечном итоге придется разрешить и другие символы Юникода - пример электронного адреса foobár@example.com.ColdFusion выдает ошибку на этот адрес электронной почты, которая технически действительна.Поскольку острый a является символом UTF-8, а кодировка по умолчанию для cfmail - UTF-8, я не уверен, какие другие настройки мне нужно было бы включить, чтобы это работало.Возможно ли это?

Ошибка, которую я получаю, это ошибка проверки атрибута для тега CFMAIL.

Detail: Недопустимое значение атрибута to, который в данный момент является foobár@example.com.1008 *

1 Ответ

4 голосов
/ 24 ноября 2011

Я не являюсь ни I18N, ни экспертом по электронной почте, но, насколько я понимаю, современные системы обычно не поддерживают Unicode в локальной части адреса электронной почты, то есть имени почтового ящика перед @. Локальные почтовые серверы могут поддерживать его и разрешать внутреннее имя, например foobár , но если этот человек хочет получать почту из внешнего мира, ему также потребуется псевдоним ASCII, например foobar .

Однако существует механизм поддержки юникода в части domain адреса, который включает преобразование в представление ASCII, называемое punycode . Это означает, что адрес, такой как foo@foobár.com, будет преобразован в foo@xn--foobr-0qa.com, который будут принимать текущие DNS и почтовые системы.

Возможно выполнить это преобразование в ColdFusion, используя существующие библиотеки Java. Подробнее см. этот вопрос .

...