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 にビューファイルを作成しました。

View/Email フォルダのビュー ファイルを変更する必要がありますか?

4

2 に答える 2

1

php.ini ファイルの max_execution_time 変数を増やす必要があります。

ただし、gmail 経由でメールを送信する際にタイムアウトになることはありません。SMTP オプションを正しく設定しましたか?

ケーキの本から http://book.cakephp.org/2.0/en/core-utility-libraries/email.html

「GMail などの SSL SMTP サーバーを構成できます。これを行うには、ホストのプレフィックスに「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');して、もう一度やり直してください。メール構成でFromアドレスのみを指定します。次に、それが機能するかどうかを確認します。

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 に答える