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

2024-03-03

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

当我们使用 SendGrid SMTP 时,emial 中的所有“\r\n”换行符最终都会加倍,因此最终为“\r\n\r\n”。

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

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

有人经历过这个吗?

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

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

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

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

为了测试不同的 SMTP 中继,我更改了 CI 电子邮件配置或 PHPMailer 配置中的 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;

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 sendgrid 发送的纯文本电子邮件中的额外换行符 的相关文章

  • 使用 PHPMailer 附加文​​件

    我有一个 HTML 表单 可以选择上传文件 然后 我想将该文件作为附件与其余表单数据一起发送到电子邮件地址 我正在使用 PHP Mailer 我获取要发送的表单数据 例如姓名 电话号码等 我无法将图像与它一起发送 我已经提供了迄今为止的代码
  • Codeigniter:使用 RESTful 服务

    是否有一个易于设置的 Codeigniter REST 库 我可以用它来使用 RESTful 服务 我尝试设置this https github com philsturgeon codeigniter restclient图书馆 但无法设
  • 只允许在 Codeigniter 中看到路由中指定的 URL

    如果我有一个名为articles的控制器 它有一个名为view articles的方法 用户可以输入http example com articles view articles some post http example com art
  • 为什么codeigniter2不以更安全的方式存储csrf_hash,例如会话?

    为什么生成的 CSRF 保护令牌没有像建议的那样通过 SESSION 保存和使用here http codeutopia net blog 2008 10 16 how to csrf protect all your forms 目前在C
  • 如何从 PHP 中同一类中的其他方法访问变量?

    我尝试了这个但无法让它工作 class Profile extends CI Controller public function index foo bar public function form submit echo this gt
  • 是否使用 PHP 框架? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我已经开始用 PHP 编写一些应用程序 并且我对这门语言越来越熟悉 有人告诉我有关 CakePHP 和 CodeIgniter 的信息 我想更好
  • 使用纯 CodeIgniter 创建 RESTful API?

    我需要仅使用 CodeIgniter 创建 RESTful Web api 我无法使用任何第三方插件或库来执行此操作 我看到大多数人都在使用https github com chriskacerguis codeigniter restse
  • CodeIgniter - 自动加载

    我想知道 CodeIgniter 自动加载的最佳实践是什么 自动加载我的所有内容是不是不好的做法might是否曾经需要过 或者可以这样做吗 这会给应用程序带来更多负载吗 目前 我只是自动加载我将在整个应用程序中使用的库和助手 autoloa
  • 未找到“GuzzleHttp\Client”类

    我同时使用Guzzle http guzzle readthedocs org en latest 并首次推出 Codeigniter 3 0 我也承认我是第一次使用 php 命名空间 我正在尝试根据文档中提供的示例使用 Guzzle 发出
  • 掌握 CodeIgniter - 模板化/加载视图

    尝试学习 CI 并浏览文档以获得更好的理解 如果没有单独的库 我可以通过包含视图列表来制作模板 如下所示 this gt load gt view header this gt load gt view navigation this gt
  • Codeigniter 活动记录选择、左连接、计数

    我有一个显示数据库查询结果的表单 这些结果可以有许多其他资产与之相连 我想找到一种方法来显示每个元素有多少资产 例如 我的表是英格兰地区 另一个表是用户居住的地方 我当前有这个代码 this gt db gt select this gt
  • 无法加载请求的类:会话

    我的配置文件看起来像这样 gt config sess cookie name ci session config sess expiration 7200 config sess expire on close TRUE config s
  • Codeigniter - 仅当数据库中不存在电子邮件时才更新电子邮件

    我为我的用户提供了一个更新页面 他们可以在其中编辑他们的姓名 电子邮件和其他信息 到目前为止 他们可以编辑一切 包括他们的电子邮件 他们可以毫无问题地输入数据库中已存在的电子邮件 我尝试添加此表单验证规则 this gt form vali
  • 将 Mailjet API v3 包装器集成为 Codeigniter 库

    我怎样才能整合Mailjet API PHP 包装器 https github com mailjet mailjet apiv3 php no composer作为库安装到我的 Codeigniter 安装中 是不是把内容放进去那么简单存
  • 无法使用mailer类在php中发送邮件

    今天我在php中做了一些邮件处理 我发现有两种方法 一种是Php提供的简单邮件功能 另一种是我在互联网上找到的关于使用网站上的PHP邮件程序类https github com PHPMailer PHPMailer https github
  • paypal数字商品集成如何启用访客支付?

    您好 我正在使用贝宝集成向导进行数字商品结帐 PHP https www paypal labs com integrationwizard https www paypal labs com integrationwizard 它应该支持
  • Codeigniter:无法使用提供的设置连接到数据库服务器

    我使用 codeigniter 作为 cms 框架 如果数据库主机名是 localhost 它可以正常工作 db default hostname localhost db default username root db default
  • 在选择选项标签中循环 Ajax 响应

    我必须选择多个测试和日期 当根据测试单击提交时 实验室名称将加载到选择选项中 阿贾克斯脚本 name submits click function e e preventDefault var array select selected e
  • 用于货币转换的php脚本

    我正在寻找一个可以进行货币转换的 php 脚本 在哪里可以找到与 codeigniter 配合使用的工具 取自http www ecb europa eu stats exchange eurofxref html index en htm
  • CodeIgniter:使用多维 POST 数据验证表单

    所以框架是CodeIgniter 2 0 2 我有一个表单 其中包含与数据库中的行相对应的字段组 字段名称的格式为 opt 0 foo opt 0 bar opt 1 foo opt 1 bar etc 索引 1 2等 并不对应于数据库中的

随机推荐