0

我的控制器

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',
    ); 
}

我得到的错误是

致命错误:第 222 行的 C:\wamp\www\myproject\lib\Cake\Network\CakeSocket.php 中的最大执行时间超过 30 秒

我需要改变什么?

我什至在 Views/Users/contact 中创建了视图文件。

我需要更改视图/电子邮件文件夹中的视图文件吗?

4

2 回答 2

1

您需要在 php.ini 文件中增加 max_execution_time 变量。

不过,您不应该超时通过 gmail 发送电子邮件。您是否正确配置了 smtp 选项?

来自蛋糕书 http://book.cakephp.org/2.0/en/core-utility-libraries/email.html

'您可以配置 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'
    );
}
?>
于 2012-06-18T15:01:03.473 回答
0

从您的操作中删除$email->from('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',
    ); 
}
于 2013-02-05T11:20:35.120 回答