我正在尝试使用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实用程序。
答案 0 :(得分:0)
您使用SMTP吗?如果没有,请使用SMTP发送邮件。和检查。 请按照下面给出的链接进行操作。
http://book.cakephp.org/2.0/en/core-utility-libraries/email.html
答案 1 :(得分:0)
自己解决了问题。只需更改Cake Lib中电子邮件功能的核心行为即可。打开\ lib \ Cake \ Network \ Email \ MailTransport.php并编辑第47行 -
$this->_mail($to, str_replace(array("\r","\n"), "", $email->subject()), $message, $headers, $params);
所以,基本的变化就是删除“新线”&主题文字中的“回车”。每当我们的主题文本超过75个字符时,框架将自动在主题文本中添加新行,这在发送电子邮件时不起作用。