6

我们需要能够将带有 cfmail 的电子邮件发送到包含拉丁语的电子邮件地址a。我假设我们最终也必须允许其他 Unicode 字符 - 示例电子邮件地址是foobár@example.com. ColdFusion 在此电子邮件地址上引发错误,这在技术上是有效的。由于急性a字符是 UTF-8 字符,而 cfmail 的默认编码是 UTF-8,我不确定我需要启用哪些其他设置才能使其正常工作。这可能吗?

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

详细信息:to 属性的值(当前为 foobár@example.com)无效。

4

1 回答 1

4

我既不是 I18N 也不是电子邮件专家,但我的理解是 FWIW 是当前系统通常不支持电子邮件地址的本地部分中的 unicode,即 @ 之前的邮箱名称。本地邮件服务器可能支持它并在内部允许使用诸如foobár 之类的名称,但如果该人想要从外部世界接收邮件,他们还需要诸如foobar之类的 ASCII 别名。

然而,在地址的域部分有一种支持 unicode 的机制,它涉及转换为称为punycode的 ASCII 表示。这意味着诸如foo@foobár.com之类的地址将被转换为当前 DNS 和邮件系统将接受的foo@xn--foobr-0qa.com 。

可以使用现有的 Java 库在 ColdFusion 中进行这种转换。有关更多详细信息,请参阅此问题

于 2011-11-24T10:22:03.510 回答