我正在尝试使用 Gmail 帐户使用 CakePHP 的电子邮件库发送电子邮件。
在app/Config/email.php
我有以下条目:
public $default = array(
'host' => 'smtp.gmail.com',
'port' => 465,
'username' => 'testaccount@gmail.com',
'password' => 'mypaswsword',
'transport' => 'Smtp',
'tls' => true
);
在我的控制器中,我已经把App::uses('CakeEmail', 'Network/Email');
它放在了我的操作中:
$email = new CakeEmail();
$email->from(array('me@example.com' => 'My Site'))
->to('you@example.com')
->subject('About')
->send('My message');
当我加载页面时,我收到一条非常难以描述的错误消息Error: An Internal Error Has Occurred.
,这并没有给我任何关于哪里出了问题的线索。我知道 Gmail 帐户设置是正确的,我正在使用它,就像 Cake 文档告诉我的那样。打印到页面的堆栈跟踪告诉我错误来自以下行CORE\Cake\Network\Email\MailTransport.php
:
$this->_mail($to, $email->subject(), $message, $headers, $params);
有谁知道这里可能出了什么问题?
编辑:我也尝试过使用以下配置:
public $default = array(
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'username' => 'testaccount@gmail.com',
'password' => 'mypassword',
'transport' => 'Smtp'
);
但无济于事。我得到完全相同的错误信息。