【问题标题】:cakephp2x email subject line lengthcakephp2x 电子邮件主题行长度
【发布时间】:2013-10-22 10:09:02
【问题描述】:

我正在尝试使用 CakePHP 2x 实用程序 CakeEmail 发送电子邮件,我正在动态获取我的所有值,如下所示 -

$Email = new CakeEmail();
$Email->from($from_id);
$Email->to($to_id);
$Email->subject($subject);
$Email->send($body);

有时电子邮件发送没有任何故障,但有时不会。最后我发现了主题行长度的问题。每当我的主题行变大时,电子邮件就无法以编程方式正确发送。但是,每当我的主题是行少于近 75 个字符时,它就会完美运行。那么,如何通过扩大主题行长度来解决这个问题。通常在 gmail 中没有主题长度的限制。但在 CakePHP 2x CakeEmail 实用程序中不允许以编程方式。

【问题讨论】:

    标签: cakephp cakephp-2.0


    【解决方案1】:

    您使用 SMTP。如果没有,请使用 SMTP 发送邮件。和支票。 请按照下面给定的链接。

    http://book.cakephp.org/2.0/en/core-utility-libraries/email.html

    【讨论】:

    • 不使用 SMTP 是不可能的。因为没有 SMTP 配置,邮件功能也在服务器中工作。唯一的问题是主题行长度。
    • 你可以在 cakephp 中使用 Php mailer 组件然后检查。会发生什么?
    【解决方案2】:

    自己解决了。只需更改 Cake Lib 中电子邮件功能的核心行为。打开 \lib\Cake\Network\Email\MailTransport.php 并编辑第 47 行,如下所示

    $this->_mail($to, str_replace(array("\r","\n"), "", $email->subject()), $message, $headers, $params);
    

    因此,基本更改是从主题文本中删除“换行”和“回车”。每当我们的主题文本超过 75 个字符时,框架会自动在主题文本中换行,这在发送电子邮件时不起作用。

    【讨论】:

      猜你喜欢
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 2014-06-17
      • 2015-10-01
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多