• 关于使用jwSMTP库发送邮件的一个诡异问题


      大家知道,jwSMTP是一个简单易用的发送Email的开源C++库。笔者在系统业务中存在发送报警邮件的需求,

    系统是python语言开发的,于是使用了这个库并将其包装成python接口(python内置的发邮件模块容易存在编码问题,不方便控制)

    感觉不错,简单快捷稳定,编码一切正常,可是经过实测发现所有发送的邮件的“发送时间”都与实际时间存在几个小时的偏差,而且偏差是固定。

    几番痛苦折腾无果,最后查看邮件SMTP协议相关的技术文档,有这么一段话:

    恍然大悟,于是用单步调试模式跟踪jwSMTP发送代码的代码,最后在如下这个地方找到了问题的答案:

    在源代码mailer.cpp文件中发送时间戳字符串那地方的结尾加上" +0800" 就正常了!

    可见我们在引入国外一些优秀的开源项目时应多注意“编码”和“时区”这类很容易出现的问题,做好“本地化”工作。

  • 相关阅读:
    POJ1811 Prime Test
    HDU3864 D_num
    HDU2138 How many prime numbers
    SPOJ1812 LCS2
    SPOJ1811 LCS
    SPOJ8222 NSUBSTR
    BZOJ4237 稻草人
    洛谷P3601 签到题
    ThreadLocal 线程的私有内存
    netty in action 笔记 二
  • 原文地址:https://www.cnblogs.com/johan/p/2982805.html
Copyright © 2020-2023  润新知