Cakephp 2.x 电子邮件无法正常工作,为什么会出现此错误
Cakephp 2.x email not working, Why this Error comes
这个问题我思考了很多天。请帮忙。我遵循了 cakephp 文档。但无法解决问题。
Could not send email: unknown
Error: An Internal Error Has Occurred.
配置如下emai.php
<?php
class EmailConfig {
public $default = array(
'transport' => 'Mail',
'from' => 'developer.support@sevenrocks.in',
'charset' => 'utf-8',
'headerCharset' => 'utf-8',
);
public $smtp = array(
'transport' => 'Smtp',
'from' => array('site@localhost' => 'SevenRocks'),
'host' => 'ssl://smtp.sevenrocks.in',
'port' => 465,
'timeout' => 30,
'username' => 'developer.support@sevenrocks.in',
'password' => 'developerofsevenrocks',
'client' => null,
'log' => true,
'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);
}
控制器中的代码如下
$email = new CakeEmail();
$email->emailFormat('html');
$email->from(array($from_email => SITE_NAME));
$email->to($to);
$email->subject($subject);
if ($files)
{
$email->attachments($files);
}
if ( !$email->send($content) )
{
return false;
}
首先:要调试 CakePHP 2x 应用程序,请在您的 app/Config/core.php
中搜索 debug 并将其更改为 Configure::write('debug', 2);
以查看完整的错误信息。
其次:某些提供商可能会阻止您直接通过 PHP 发送邮件(默认 邮件配置)。更好的解决方案可能是使用您在 email.php
中提供的 smtp 配置。
要使用您的 smtp 配置,请将您的控制器代码更改为:
$email = new CakeEmail('smtp');
$email->emailFormat('html');
$email->to($to);
$email->subject($subject);
有关详细信息,请参阅 https://book.cakephp.org/2.0/en/core-utility-libraries/email.html#configuration
这个问题我思考了很多天。请帮忙。我遵循了 cakephp 文档。但无法解决问题。
Could not send email: unknown
Error: An Internal Error Has Occurred.
配置如下emai.php
<?php
class EmailConfig {
public $default = array(
'transport' => 'Mail',
'from' => 'developer.support@sevenrocks.in',
'charset' => 'utf-8',
'headerCharset' => 'utf-8',
);
public $smtp = array(
'transport' => 'Smtp',
'from' => array('site@localhost' => 'SevenRocks'),
'host' => 'ssl://smtp.sevenrocks.in',
'port' => 465,
'timeout' => 30,
'username' => 'developer.support@sevenrocks.in',
'password' => 'developerofsevenrocks',
'client' => null,
'log' => true,
'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);
}
控制器中的代码如下
$email = new CakeEmail();
$email->emailFormat('html');
$email->from(array($from_email => SITE_NAME));
$email->to($to);
$email->subject($subject);
if ($files)
{
$email->attachments($files);
}
if ( !$email->send($content) )
{
return false;
}
首先:要调试 CakePHP 2x 应用程序,请在您的 app/Config/core.php
中搜索 debug 并将其更改为 Configure::write('debug', 2);
以查看完整的错误信息。
其次:某些提供商可能会阻止您直接通过 PHP 发送邮件(默认 邮件配置)。更好的解决方案可能是使用您在 email.php
中提供的 smtp 配置。
要使用您的 smtp 配置,请将您的控制器代码更改为:
$email = new CakeEmail('smtp');
$email->emailFormat('html');
$email->to($to);
$email->subject($subject);
有关详细信息,请参阅 https://book.cakephp.org/2.0/en/core-utility-libraries/email.html#configuration