Cakephp电子邮件错误
我的控制器Cakephp电子邮件错误,cakephp,Cakephp,我的控制器 App::uses('CakeEmail', 'Network/Email'); //before class begins //function public function contact(){ $email = new CakeEmail(); $email->config('smtp'); $email->from('me@gmail.com'); $email->to('you@gmai
App::uses('CakeEmail', 'Network/Email'); //before class begins
//function
public function contact(){
$email = new CakeEmail();
$email->config('smtp');
$email->from('me@gmail.com');
$email->to('you@gmail.com');
$email->subject('About');
$email->send('My message');
}
//Email.php in config folder
class EmailConfig {
public $smtp = array(
'transport' => 'Smtp',
'from' => 'me@gmail.com',
'host' => 'smtp.gmail.com',
'port' => 465,
//'timeout' => 30,
'username' => 'me@gmail.com',
'password' => '*****',
'client' => null,
'log' => false,
//'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);
}
我得到的错误是
致命错误:中超过了30秒的最大执行时间
C:\wamp\www\myproject\lib\Cake\Network\CakeSocket.php,第222行
我需要改变什么
我甚至在Views/Users/contact中创建了视图文件
是否需要更改view/Email文件夹中的view文件?您需要增加php.ini文件中的max\u execution\u time变量 不过,你不应该错过通过gmail发送电子邮件的时机。您是否正确配置了smtp选项 从蛋糕册上 “您可以配置SSL SMTP服务器,如GMail。为此,请在主机中的前缀处放置“ssl://”,并相应地配置端口值。例如:'
<?php
class EmailConfig {
public $gmail = array(
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'username' => 'my@gmail.com',
'password' => 'secret',
'transport' => 'Smtp'
);
}
?>
从邮件中删除$email->me@gmail.com');代码>从您的操作中删除,然后重试。仅在电子邮件配置中指定发件人地址。然后看看它是否有效
App::uses('CakeEmail', 'Network/Email'); //before class begins
//function
public function contact(){
$email = new CakeEmail();
$email->config('smtp');
$email->to('you@gmail.com');
$email->subject('About');
$email->send('My message');
}
//Email.php in config folder
class EmailConfig {
public $smtp = array(
'transport' => 'Smtp',
'from' => 'me@gmail.com',
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'timeout' => 60,
'username' => 'me@gmail.com',
'password' => '*****',
'client' => null,
'log' => false,
//'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);
}
也增加了时间,但仍然无法发送电子邮件。这给了我同样的错误。我在这里遗漏了什么?是的,我确实遵循了烹饪书中的基本步骤。如果我遵循这些步骤,它会说无法发送电子邮件,则发生了内部错误。如果我使用'ssl://smtp.gmail.com'它表示未配置ssl。堆栈跟踪核心\Cake\Network\Email\CakeEmail.php第972行→ MailTransport->send(CakeEmail)APP\Controller\userscocontroller.php第103行→ CakeEmail->send(string)[内部函数]→ UsersController->contact()CORE\Cake\Controller\Controller.php第485行→ ReflectionMethod->invokeArgs(UsersController,array)CORE\Cake\Routing\Dispatcher.php第103行→ Controller->invokeAction(CakeRequest)CORE\Cake\Routing\Dispatcher.php第85行→ Dispatcher->\u invoke(UsersController、CakereRequest、CakerResponse)APP\webroot\index.php第92行→ Dispatcher->dispatch(CakereRequest,CakerResponse)这是一个堆栈跟踪错误。我在该页面上发布了所有错误。我需要上传项目才能发送电子邮件吗?不只是安装并启用openssl