Можно ли отправить электронное письмо на адрес, содержащий латинские символы Юникода, с помощью cfmail?

Нам нужно иметь возможность отправить электронное письмо с помощью cfmail на адрес электронной почты, который содержит латинские a с остротой. Я предполагаю, что в конечном итоге нам придется разрешить и другие символы Unicode — пример адреса электронной почты — foobá[email protected]. ColdFusion выдает ошибку на этот адрес электронной почты, что технически допустимо. Поскольку острое a является символом UTF-8, а кодировка по умолчанию для cfmail — UTF-8, я не уверен, какие еще настройки мне нужно включить, чтобы это работало. Это возможно?

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

Подробности: значение атрибута to, которое в настоящее время равно foobá[email protected], недопустимо.


person RaeLehman    schedule 22.11.2011    source источник
comment
Проверка атрибута @AlEverett. Только что обновил вопрос. Спасибо!   -  person RaeLehman    schedule 22.11.2011
comment
Если я не ошибаюсь, символы юникода по-прежнему недействительны для электронных писем. Однако с помощью RFC5322 они пытаются внести в него изменения.   -  person JonLim    schedule 22.11.2011
comment
@JonLim Я нашел в Интернете различную информацию о том, что она была недавно принята, поэтому я предполагаю, что это новая проблема, для которой нам придется найти обходной путь. Я использую плагин jQuery Validate, который разрешает их, я как бы предположил, что если они там разрешены, то это становится более распространенным. Но, возможно, нет! Я всегда могу изменить валидацию, но я хотел сначала посмотреть, есть ли способ заставить ее работать в CF.   -  person RaeLehman    schedule 22.11.2011
comment
@JonLim Вы имели в виду расширение SMTP RFC 5336 для интернационализированных адресов электронной почты?   -  person Hontvári Levente    schedule 22.11.2011
comment
+1 Ссылка Гонтвари. Это стандарт, который однажды даст нам имена пользователей Unicode в адресах электронной почты... если электронная почта все еще широко используется к тому времени, когда ее поддерживает большинство развернутых MTA. Поддержка сегодня очень плохая. Ни ColdFusion, ни что-либо еще не могут надежно отправлять почту на foobá[email protected], поэтому любой, кто использует этот адрес, обнаружит, что ему не с кем поговорить!   -  person bobince    schedule 25.11.2011


Ответы (1)


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

Однако существует механизм поддержки юникода в доменной части адреса, который включает преобразование в представление ASCII, называемое punycode. Это означает, что такой адрес, как foo@foobár.com, будет преобразован в [email protected], который будут принимать текущие DNS и почтовые системы.

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

person CfSimplicity    schedule 24.11.2011