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

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

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

问题找到,怎么解决了?

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

那就先这样吧。

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

相关文章:

  • 2021-09-17
  • 2022-12-23
  • 2021-07-31
  • 2022-12-23
猜你喜欢
  • 2022-01-22
  • 2021-11-26
  • 2022-12-23
  • 2022-12-23
  • 2019-11-19
  • 2022-12-23
  • 2021-08-28
相关资源
相似解决方案