【问题标题】:extra newlines in plain text emails sent via sendgrid通过 sendgrid 发送的纯文本电子邮件中的额外换行符
【发布时间】:2011-09-10 16:42:11
【问题描述】:

我们使用 CodeIgniter (v1.7) 和 PHPMailer (v5.1) 从 PHP 以纯文本形式发送电子邮件。当前的生产设置使用便宜的 SMTP 中继,计划切换到 CritSend 或 SendGrid。我们现在正在 Rackspace 云服务器上测试这些选项。

当我们使用 SendGrid SMTP 时,emials 中的所有“\r\n”换行符最终都会加倍,所以最终会变成“\r\n\r\n”。

使用 CritSend SMTP 和其他两个 SMTP 服务器时一切正常。

SendGrid 技术支持人员认为这与他们的系统没有任何关系,但听说过另一个客户也有同样的问题,显然它通过客户端的配置更改得到了解决。

有人经历过吗?

这对我们来说并不重要,因为 CritSend 运行良好,并且在功能上看起来与 SendGrid 一样好,所以我们将使用它们。但是作为一个好奇的类型,我就是不能放手:-)

常规设置:PHP 脚本 -> sendmail/Postfix -> 外部 SMTP 中继 -> ....

为了测试不同的 SMTP 中继,我更改了 postfix 配置,只有 SendGrid 提供了额外的换行符,所有其他 SMTP 选项都可以正常工作。如果我通过 CodeIgniter 电子邮件类调试功能转储电子邮件,它在进入后缀之前看起来很好。

备用设置:PHP 脚本(CI 邮件类或 PHPMialer)-> 外部 SMTP 中继 -> ....

为了测试不同的 SMTP 中继,我更改了 CI 电子邮件配置或 PHPMialer 配置中的 SMTP 设置。只有 SendGrid 提供额外的换行符,所有其他 SMTP 选项都可以正常工作。

据我所知,没有那么多选项可供选择。我尝试了“utf-8”和“ISO-something or other”,我们这边的所有换行符都是“\r\n”......看起来像是某个地方的一些非常晦涩的错误。

有什么想法吗?

【问题讨论】:

    标签: codeigniter phpmailer sendgrid


    【解决方案1】:

    好的,多做一些实验,这些设置可以让纯文本电子邮件从 PHPMailer 很好地通过 SendGrid:

        $mailer->CharSet    = "utf-8";
        $mailer->LE         = "\r\n";
        $mailer->Encoding   = "quoted-printable";
        $mailer->WordWrap   = 80;
    

    “引用可打印”部分是关键。

    【讨论】:

      【解决方案2】:

      对我有用的是在 PHP 文本中使用实际的换行符,如下所示:

          // Prepare email
          $email = array(
              'api_user'  => App::emailAPIUser(),
              'api_key'   => App::emailAPIPwd(),
              'to'        => $email,
              'subject'   => 'Thank you for entering ' . App::name(),
              'html'      => $email_body,
              'text'      => '
      
      Thank you for entering Competition. 
      
      You are now in the running to WIN your prices valued at $6000. 
      
      Winners will be notified of their status by the 14th February 2012. 
      
      Good luck!',
              'from'      => 'competitions@company.com'
          );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-05
        • 2018-07-19
        • 1970-01-01
        相关资源
        最近更新 更多