简体   繁体   English

调试电子邮件在cakephp中不起作用

[英]debugging email not working in cakephp

i am trying to debug my email in cakephp since i cannot send a test mail. 我试图在cakephp中调试电子邮件,因为我无法发送测试邮件。 However, everything i do gives me just a blank web page, even the debug. 但是,我所做的一切都给我一个空白的网页,甚至是调试。 I already set the debug mode to 2. Below are my codes: 我已经将调试模式设置为2。下面是我的代码:

C:\\xampp\\htdocs\\NewFolder\\app\\webroot\\email\\app\\controllersmailer_controller.php C:\\ xampp \\ htdocs \\ NewFolder \\ app \\ webroot \\ email \\ app \\ controllersmailer_controller.php

<?php  
class MailerController extends AppController { 

    var $name = 'Mailer'; 
    //Not using a model 
    var $uses = ''; 
    //The built in Cake Mailer 
    var $components = array('Email'); 

    $this->Email->delivery = 'debug';
    /** 
     * Send a text string as email body 
     */ 
    function sendSimpleMail() { 
        //$this->Email->to = 'yourlogin@localhost'; 
        $this->Email->to = 'csorila17@gmail.com'; 
        $this->Email->subject = 'Cake test simple email'; 
        $this->Email->replyTo = 'noreply@example.com'; 
        $this->Email->from = 'Cake Test Account <noreply@example.com>'; 
        //Set the body of the mail as we send it. 
        //Note: the text can be an array, each element will appear as a 
        //seperate line in the message body. 
        if ( $this->Email->send('Here is the body of the email') ) { 
            $this->Session->setFlash('Simple email sent'); 
        } else { 
            $this->Session->setFlash('Simple email not sent'); 
        } 
        //$this->redirect('/'); 
        $this->Email->delivery = 'debug';

    } 
} 
?> 

C:\\xampp\\htdocs\\NewFolder\\app\\webroot\\email\\app\\views\\layouts\\default.ctp C:\\ xampp \\ htdocs \\ NewFolder \\ app \\ webroot \\ email \\ app \\ views \\ layouts \\ default.ctp

<?php echo $this->Session->flash(); ?>
<?php echo $this->Session->flash('email'); ?>

C:\\xampp\\htdocs\\NewFolder\\app\\webroot\\email\\app\\views\\layouts\\email\\html\\default.ctp C:\\ xampp \\ htdocs \\ NewFolder \\ app \\ webroot \\ email \\ app \\ views \\ layouts \\ email \\ html \\ default.ctp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html> 
<body> 
<?php echo $content_for_layout; ?> 
<?php echo $this->Session->flash(); ?>
<?php echo $this->Session->flash('email'); ?>
</body> 
</html> 

C:\\xampp\\htdocs\\NewFolder\\app\\webroot\\email\\app\\views\\layouts\\email\\text\\default.ctp C:\\ xampp \\ htdocs \\ NewFolder \\ app \\ webroot \\ email \\ app \\ views \\ layouts \\ email \\ text \\ default.ctp

<?php echo $content_for_layout; ?> 

If you are running this application locally, I believe you need to setup a mail server to work, otherwise you can use smtp mail option with any of the provider. 如果您在本地运行此应用程序,我相信您需要设置一个邮件服务器才能工作,否则,您可以对任何提供程序使用smtp mail选项。 For that you have to configure your mail settings. 为此,您必须配置邮件设置。

In your app\\config you can create a file email.php 在您的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
        );

    }

After this in your controller you can setup use the following code to send email. 之后,您可以在控制器中设置以下代码来发送电子邮件。

$email = new CakeEmail();
$email->to('example@gmail.com');
$email->subject('Email testing Subject');       
$email->send('Email testing content');

Well other than needing an accessible SMTP server, you also cannot place this statement outside of a function... 除了需要可访问的SMTP服务器外,您还不能将此语句放在函数之外...

$this->Email->delivery = 'debug';   // needs to be *inside* a function

Also note that when you do use this command, it will merely save the email into a session variable and NOT send it. 另外请注意,当使用这个命令,它只会保存电子邮件到一个会话变量和发送。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM