它appears Delphi 2009附带的Indy 10 SMTP组件不能正确支持主题和正文中的unicode。支持UTF-8或Unicode的Delphi SMTP组件
有没有人知道一个很好的选择,或有人对Indy10做出必要的修改来解决这个问题?
它appears Delphi 2009附带的Indy 10 SMTP组件不能正确支持主题和正文中的unicode。支持UTF-8或Unicode的Delphi SMTP组件
有没有人知道一个很好的选择,或有人对Indy10做出必要的修改来解决这个问题?
感谢大家的建议,我想我已经找到了一个真正有效的组件。它是一个ActiveX而不是Delphi组件,但是却有诀窍。很好很简单。
组件是Chilkat SMTP component。 code example here正是我想要的,它的工作原理!
我肯定会看nSoftware.com的IPWorks。他们的最新版本应该完全符合Delphi 2009标准。
我还会注意到,大多数邮件服务器可能无法在邮件主题行中正确处理Unicode。我还没有看到任何真正的统计数据,但我的猜测是,邮件服务器的一个非常健康的百分比仍然期望ascii主题行,因为我相信这是RFC的定义。
(消息体当然可以进行编码,以确保它通过。)
这就是为什么您可能需要一个可以接受您的UTF-8数据并自动将其格式化为通过SMTP发送的组件的原因 - 请参阅http:// www。 perlmonks.org/?node_id=692745 – 2009-01-30 18:40:33
RFC 2047定义了如何将非ASCII字符放入只有ASCII的主题中。 http://www.faqs.org/rfcs/rfc2047.html – 2009-01-30 23:47:58
兼容EasyMail表示支持RFC 2047,其罗布提到处理非ASCII主题行:
http://www.componentsource.com/products/easymail-objects/summary.html
的bug在印第安纳波利斯10的IdHeaderoderUTF类最近发现,在编码其中包含Unicode字符的电子邮件标题时,会阻止UTF-7和UTF-8正常工作。
Indy 10自D2009最初发布以来已经更新,现在可以更好地处理Unicode。看看Indy的SVN中当前的Tiburon快照。
您可以检查出与印10本解决方案(俄罗斯字符集测试)
http://dev-doc.blogspot.com/2012/08/delphi-indy-10-ssl-and-encoding-issues.html
请编辑您的问题,“或”没有多大意义。引用维基百科:“UTF-8(8位UCS/Unicode转换格式)是Unicode的可变长度字符编码”。请参阅http://en.wikipedia.org/wiki/Utf-8 – mghie 2009-01-30 15:04:53