2011-11-22 155 views
6

我们需要能够发送带有cfmail的电子邮件到包含拉丁文a的电子邮件地址。我假设我们最终还必须允许其他Unicode字符 - 示例电子邮件地址是foobá[email protected]。 ColdFusion会在此电子邮件地址中引发错误,这在技术上是有效的。由于急性a是UTF-8字符,并且cfmail的默认编码是UTF-8,所以我不确定我需要启用其他哪些设置才能使其工作。这可能吗?是否可以使用cfmail将电子邮件发送到包含拉丁unicode字符的地址?

我得到的错误是标记CFMAIL的属性验证错误。

详细信息:目前为foobá[email protected]的属性值无效。

+0

究竟是什么错误? – ale

+0

@AlEverett属性验证。刚刚更新了这个问题。谢谢! – RaeLehman

+0

如果我没有弄错,unicode字符对电子邮件仍然无效。但是,使用[RFC5322](http://tools.ietf.org/html/rfc5322),他们正在尝试对其进行更改。 – JonLim

回答

4

我既不是国际化,也没有电子邮件的专家,但我的理解FWIW是,当前的系统一般不支持Unicode在本地部分电子邮件地址的,即@之前的邮箱名。本地邮件服务器可以支持它,并允许在内部使用诸如foobár这样的名称,但是如果该人想要接收来自外部世界的邮件,则他们还需要ASCII别名,例如foobar

然而,存在用于在地址,这涉及转化成ASCII表示的部支撑的unicode机构称为punycode编码。这意味着诸如[email protected]ár.com这样的地址将被转换为[email protected]哪些当前的DNS和邮件系统将接受。

通过使用现有的Java库,可以在ColdFusion中执行此转换。欲了解更多详情,请参阅this question

相关问题