现在的位置: 首页 > 综合 > 正文

Indy9发送邮件主旨过长解决方法

2012年10月08日 ⁄ 综合 ⁄ 共 342字 ⁄ 字号 评论关闭

上个月用Delphi+Indy9写了一个SMTP发送邮件的DLL文件,供公司的ERP系统(PowerBuilder)使用。

使用过程中发现一个问题,当邮件主旨过长时,收件者就会收到乱码邮件。

进过在网络上的搜索,然后又看了一下Indy的源代码,发现问题是Indy在编码Subject时,碰到需要编码的内容,比如中文,非ASCII字符,采用了base64编码。编码后的内容如果超过75字节,就拆分成了多行。行与行之间多加了一个回车换行符。

问题找到,怎么解决了?

本打算修改Indy的多行处理方式,结果半天出不来,后来干脆修改75字节的限制,变成175字节,测试居然OK。

那就先这样吧。

具体修改位置在DELPHI_PATH\Source\Indy\IdCoderHeader.pas第599行。

抱歉!评论已关闭.