0

確かにそれは私に頭痛の種を与えていますが、私はすべての初心者が同じ経験をすることを理解しています。私は、cakephpを使用してメールを送信することについて見つけたすべてのチュートリアルを試しました。まあ、何も機能しませんでした。Cakephpメールに関するより良いチュートリアルへのリンクを教えてもらえますか?マニュアルも完全ではありません:(ちょっとイライラしました:(

私はこのコードを試しました:

<?php
    class EmailsController extends AppController{

 var $components = array('Email');

function sendNewUserMail() {
    //$User = $this->User->read(null,$id);
    $this->Email->to = 'csorila17@gmail.com';
    $this->Email->bcc = array('secret@example.com');  
    $this->Email->subject = 'Welcome to our really cool thing';
    $this->Email->replyTo = 'support@example.com';
    $this->Email->from = 'Cool Web App <charm_sorila@yahoo.com>';
    $this->Email->template = 'simple_message'; // note no '.ctp'
    //Send as 'html', 'text' or 'both' (default is 'text')
    $this->Email->sendAs = 'both'; // because we like to send pretty mail
    //Set view variables as normal
    $this->set('User', $User);
    //Do not pass any args to send()
    $this->Email->send();
    echo "hi";
 }
    }
?>

このフォルダに保存されます:

C:\xampp\htdocs\NewFolder\app\webroot\email\app\controllers

したがって、ブラウザでこれを実行しようとするたびにURLを入力すると、次のようになります。 `http:// localhost / email / sendNewUserMail

私のブラウザが私に与えるのは空白のページであり、csorila17@gmail.comには何も送信されていません。何が問題になる可能性がありますか?可能であれば、cakephpを使用してメールを送信するための完全なコードを確認できますか?この問題は私を夢中にさせます。前もって感謝します

4

2 に答える 2

1

このアプリケーションをローカルで実行している場合は、メールサーバーを設定する必要があると思います。そうでない場合は、任意のプロバイダーでSMTPメールオプションを使用できます。そのためには、メール設定を構成する必要があります。

あなたの中でapp\configあなたはファイルを作成することができますemail.php

<?php 
    class EmailConfig {

        public $default = array(
            'host' => 'ssl://smtp.gmail.com',
            'port' => 465,
            'username' => 'your email address', //example@gmail.com
            'password' => 'password',
            'transport' => 'Smtp',
            'from' => array('From Email Address' => 'Name to be displayed in the Email'),
            'log' => true
        );

    }

この後、コントローラーで次のコードを使用して電子メールを送信するように設定できます。

$email = new CakeEmail();
$email->to('example@gmail.com');
$email->subject('Email testing Subject');       
$email->send('Email testing content');
于 2012-05-03T03:43:09.883 に答える
0

前述のように、バージョン番号を知っておくことが重要です。出力を確認できるように、構成ファイルでdebugが「2」に設定されていることを確認してください。

于 2012-05-02T13:14:53.757 に答える