gpt4 book ai didi

codeigniter - 通过 sendgrid 发送的纯文本电子邮件中的额外换行符

转载 作者:行者123 更新时间:2023-12-04 02:35:46 25 4
gpt4 key购买 nike

我们使用 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 中继,我更改了后缀配置,只有 SendGrid 提供了额外的换行符,所有其他 SMTP 选项都可以正常工作。如果我通过 CodeIgniter 电子邮件类调试功能转储电子邮件,它在转到 postfix 之前看起来很好。

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

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

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

有什么想法吗?

最佳答案

好的,再进行一些试验,这些设置可以使纯文本电子邮件从 PHPMailer 很好地通过 SendGrid:

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

“quoted-printable”部分是关键。

关于codeigniter - 通过 sendgrid 发送的纯文本电子邮件中的额外换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6276181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com