2015-05-14 113 views
0

这是我在我的控制器中的cakephp方法中的代码,但没有任何电子邮件即将到账。我真的需要帮助。CakeEmail不能正常工作

当我打印$cc变量,它给人阵列的输出,但不知道怎么知道邮件是否已成功或不发送。

由于没有邮件来到mailaccount,所以我猜邮件是不正确森德,或者出现在我的代码一些bug。

$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); 
+0

请尝试的var_dump($ CC)和检查邮件发送状态,它会返回的布尔 –

+0

它返回的数据 – soumikwebdeveloper

+0

阵列共享你的回报输出数组。 –

回答

0

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

  1. 请确保您有设置你的email.php文件正确,我喜欢使用Gmail帐号在第一送他们只是要确定电子邮件的功能是否正常。

    公共$的Gmail =阵列( '主机'=> 'smtp.gmail.com', '口'=> '465', '用户名'=> '您的Gmail电子邮件', '密码' => '您的Gmail密码', '传输'=> 'SMTP', 'TLS'=>真enter code here );

  2. 一旦你这样做了下面的代码添加到您的控制器。

    $数据=“我送这个字符串的电子邮件的观点,然后我就可以访问使用$ myData的这串”;

    $电子邮件=新CakeEmail(); $ Email-> template('welcome','fancy') - > emailFormat('both') - > to('Email address to be sent to') - > from('Email address coming from'。 ), - > viewVars(array('myData'=> $ data)) - > send();

  3. 为您的电子邮件构建标记,您可以在此处找到这些文件。

应用程序/查看/电子邮件/ HTML/welcome.ctp 应用程序/浏览/设计/电子邮件/ HTML/fancy.ctp

如果您有任何疑问,请随时给我发电子邮件:

[email protected]