0

これは私の controller の 1 つでの cakephp メソッドの私のコードですが、アカウントにメールが来ていません。これについて本当に助けが必要です。

変数を印刷$ccすると、配列の出力が得られますが、メールが正常に送信されたかどうかを知る方法がわかりません。

メールアカウントにメールが来ていないので、メールが正しく送信されていないか、私のコードに何らかのバグがあると思われます。

$email = new CakeEmail('default');
$body = "<html>
        <head>
            <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
        </head>
        <body>
            <div style='background: #F6F6F6; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; margin: 0; padding: 0;'>
                <table cellspacing='0' cellpadding='0' border='0' height='100%' width='100%'>
                    <tr>
                        <td align='center' valign='top' style='padding: 20px 0 20px 0'>
                            <table bgcolor='FFFFFF' cellspacing='0' cellpadding='10' border='0' width='624' style='border:1px solid #E0E0E0;'>
                                <tr>
                                    <td width='147' align='center'><img src='".Router::url('/', true)."images/logo.png'></td>
                                </tr>
                                <tr bgcolor='#666666'>
                                    <td colspan='2' align='center'>
                                    Forgot Password
                                    </td> 
                                </tr>
                                <tr bgcolor='#CCCCCC'>
                                    <td colspan='2'>Hello Admin, </td>         
                                </tr>
                                <tr bgcolor='#E7E6EC'>
                                    <td> </td> 
                                    <td width='415'>Your new password : ".$new_password."</td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            </div>
        </body>
    </html>";

$email->from(array($adminemail =>"Cakeshop"));
$email->emailFormat('both');
//$email->to($check['AdminLogin']['admin_email_address']);
$email->to(array($adminemail));
$email->subject('Recover Password');

$cc=$email->send($body);
4

1 に答える 1

0

このようなことを試みるときは、マークアップを記述して $body 変数に割り当てる代わりに、別の方法を使用します。メールのレイアウトとビューを作成し、それをマークアップとして使用します。(下記参照)

  1. email.php ファイルが正しく設定されていることを確認してください。メール機能が動作していることを確認するためだけに、最初に Gmail アカウントを使用して送信するのが好きです。

    public $gmail = array( 'host' => 'smtp.gmail.com', 'port' => '465', 'username' => 'Gmail のメールアドレス', 'password' => 'Gmail のパスワード', 'transport' => 'Smtp', 'tls' => true enter code here );

  2. これが完了したら、次のコードをコントローラーに追加します。

    $data = 'この文字列をメールのビューに送信します。$myData を使用してこの文字列にアクセスできます';

    $Email = new CakeEmail(); $Email->template('welcome', 'fancy') ->emailFormat('both') ->to('送信先メールアドレス') ->from('送信元メールアドレス'), -> viewVars(array('myData' => $data)) ->send();

  3. メールのマークアップを作成します。ファイルはこちらにあります。

app/View/Emails/html/welcome.ctp アプリ/View/Layouts/Emails/html/fancy.ctp

さらに質問がある場合は、お気軽にメールでお問い合わせください。

simpsond1988@gmail.com

于 2015-05-14T15:33:20.273 に答える