1

Delphi 2009 附带的 Indy 10 SMTP 组件似乎不能正确支持主题和正文中的 unicode

有谁知道一个好的替代方案,或者是否有人对 Indy10 进行了必要的更改来解决这个问题?

4

8 回答 8

3

我还要注意,大多数邮件服务器可能无法在邮件主题行中正确处理 Unicode。我还没有看到任何关于此的真实统计数据,但我的猜测是邮件服务器的一个非常健康的百分比仍然期望 ascii 主题行,因为我相信这是 RFC 的定义。

(当然可以对消息正文进行编码以确保它通过。)

于 2009-01-30T16:34:45.753 回答
3

您可以使用 Indy 10 查看此解决方案(在俄罗斯字符集上测试)

http://dev-doc.blogspot.com/2012/08/delphi-indy-10-ssl-and-encoding-issues.html

于 2012-08-21T20:54:25.227 回答
2

Indy 10 自 D2009 的初始版本以来已经更新,现在可以更好地处理 Unicode。查看 Indy 的 SVN 中当前的 Tiburon 快照。

于 2009-06-01T18:41:58.540 回答
1

我肯定会从 nSoftware.com 看 IPWorks。他们的最新版本应该完全兼容 Delphi 2009。

于 2009-01-30T16:28:09.790 回答
1

我会看一下Synapse,它确实可以正确处理主题和正文中的 unicode。您需要通过SVN存储库下载存储库,该存储库比网站上列出的可供下载的版本更新。SVN 版本包括对 Delphi 2009 的支持。

于 2009-01-30T17:33:32.123 回答
1

EasyMail 说它支持 Rob 提到的 RFC 2047 处理非 ascii 主题行:

http://www.componentsource.com/products/easymail-objects/summary.html

于 2009-01-31T04:51:09.307 回答
0

最近在 Indy 10 的 IdHeaderoderUTF 类中发现了一个错误,该错误会阻止 UTF-7 和 UTF-8 在对包含 Unicode 字符的电子邮件标头进行编码时正常工作。

于 2009-02-02T01:43:49.700 回答
-4

感谢大家的建议,我想我找到了一个真正有效的组件。它是一个 ActiveX 而不是 Delphi 组件,但可以解决问题。很好很简单。

该组件是 Chilkat SMTP 组件。这里的代码示例完全符合我的要求,并且可以正常工作!!!

于 2009-02-05T16:15:50.823 回答