Cakephp 卡基邮件不起作用

Cakephp 卡基邮件不起作用,cakephp,cakeemail,Cakephp,Cakeemail,这是我在一个控制器中使用cakephp方法编写的代码,但没有电子邮件进入帐户。我真的需要帮助 当我打印$cc变量时,它给出了一个数组的输出,但不知道如何知道邮件是否已成功发送 由于没有邮件到达mailaccount,所以我猜邮件没有正确发送,或者我的代码中有一些错误 $email = new CakeEmail('default'); $body = "<html> <head> <meta http-equiv='Conte

这是我在一个控制器中使用cakephp方法编写的代码,但没有电子邮件进入帐户。我真的需要帮助

当我打印
$cc
变量时,它给出了一个数组的输出,但不知道如何知道邮件是否已成功发送

由于没有邮件到达mailaccount,所以我猜邮件没有正确发送,或者我的代码中有一些错误

$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);
$email=new-CakeEmail('default');
$body=”
忘记密码
你好,管理员,
您的新密码:“.$new\u password。”
";
$email->from(数组($adminemail=>“Cakeshop”);
$email->emailFormat(“两者”);
//$email->to($check['AdminLogin']['admin\u email\u address']);
$email->to(数组($adminemail));
$email->subject('Recover Password');
$cc=$email->send($body);

尝试类似的方法时,我会使用不同的方法,而不是编写标记并将其分配给$body变量。创建电子邮件的布局和视图,并将其用作标记。(见下文)

  • 确保你的email.php文件设置正确,我喜欢先使用Gmail帐户发送它们,以确保电子邮件功能正常工作

    public$gmail=array( 'host'=>'smtp.gmail.com', “端口”=>“465”, “用户名”=>“您的Gmail电子邮件”, “密码”=>“您的Gmail密码”, “传输”=>“Smtp”, “tls”=>true
    在此处输入代码
    );

  • 完成此操作后,将以下代码添加到控制器中

    $data='我正在将此字符串发送到电子邮件视图,然后我可以使用$myData'访问此字符串'

    $Email=new-CakeEmail(); $Email->template('welcome'、'fancy') ->emailFormat('两者') ->收件人('要发送到的电子邮件地址') ->发件人('电子邮件地址来自'), ->viewVars(数组('myData'=>$data)) ->send()

  • 为你的电子邮件建立标记,你可以在这里找到文件

  • app/View/email/html/welcome.ctp app/View/Layouts/email/html/fancy.ctp

    如果您有任何其他问题,请随时发送电子邮件给我:


    simpsond1988@gmail.com

    请尝试var_dump($cc)并检查电子邮件发送状态,它将返回布尔值。如果它返回一个数据共享数组,则返回输出数组。您是否正确配置了电子邮件设置?您可以使用mailcatcherArray([headers]=>From:soumik)之类的东西来测试它。chakraborty@webguru-development.com X-Mailer:CakePHP电子邮件日期:2015年5月14日星期四12:14:37+0000消息ID:MIME版本:1.0内容类型:text/html;charset=UTF-8内容传输编码:8bit[消息]=>忘记密码你好管理员,您的新密码:nmszwd