CakeEmail无法发送电子邮件

CakeEmail无法发送电子邮件,email,cakephp,cakephp-2.2,Email,Cakephp,Cakephp 2.2,我需要帮助,伙计们。我不能让它工作。你能帮我吗 提前谢谢 config/email.php public $default = array( 'transport' => 'Mail', 'from' => 'sender@yahoo.com', 'charset' => 'utf-8', 'headerCharset' => 'utf-8', ); feedbackcontroller.php App::

我需要帮助,伙计们。我不能让它工作。你能帮我吗

提前谢谢

config/email.php

public $default = array(
        'transport' => 'Mail',
        'from' => 'sender@yahoo.com',
        'charset' => 'utf-8',
        'headerCharset' => 'utf-8',
);
feedbackcontroller.php

App::uses('AppController', 'Controller');
App::uses('CakeEmail', 'Network/Email');
*
*
*
public function send() {
     $email    = new CakeEmail('default');
     $email->emailFormat('text')
           ->to('recipient@yahoo.com')
           ->from('sender@yahoo.com')
           ->send('Message Body');
}
上面的代码给了我一个错误:

无法发送电子邮件

Error: An Internal Error Has Occurred.

根据我的经验,我在将->from设置为单个字符串时遇到问题,并且发现执行->from(array('emailaddress'=>'name'))更为成功

此外,我不确定是否需要设置主题值才能成功工作?

您可以使用以下方法: 在app/config/email.php中添加此新配置

public $gmail = array(
    'host' => 'ssl://smtp.gmail.com',
    'port' => 465,
    'username' => 'adresse@gmail.com',
    'password' => 'secret',
    'transport' => 'Smtp',
    'timeout' => 1
);
之后,您必须在控制器中调用:

$email    = new CakeEmail('gmail');

就是这样。

您的调试级别设置为2了吗?(在'app/Config/core.php'中有
Configure::write('debug',2);
设置此错误时,您是否获得有关错误的更多信息?core\Cake\Network\Email\CakeEmail.php第972行→ MailTransport->send(CakeEmail)APP\Controller\feedbackcontroller.php第82行→ CakeEmail->send()[内部函数]→ FeedbackController->send()CORE\Cake\Controller\Controller.php第488行→ ReflectionMethod->invokeArgs(反馈控制器,数组)CORE\Cake\Routing\Dispatcher.php第103行→ Controller->invokeAction(CakeRequest)CORE\Cake\Routing\Dispatcher.php第85行→ Dispatcher->_invoke(反馈控制器、CakeRequest、CakeResponse)APP\webroot\index.php第96行→ Dispatcher->dispatch(CakereRequest,CakerResponse)我是否需要为“发送”提供用户名和密码sender@yahoo.com“电子邮件?不,如果您使用SMTP传输,您必须这样做。您以前在服务器上使用过php的
mail()
功能吗?”()