调试电子邮件在cakephp中不起作用
我正在尝试用cakephp调试我的电子邮件,因为我无法发送测试邮件。然而,我所做的每件事都只给了我一个空白的网页,甚至是调试。我已经将调试模式设置为2。以下是我的代码: C:\xampp\htdocs\NewFolder\app\webroot\email\app\controllersmailer\u controller.php调试电子邮件在cakephp中不起作用,php,email,cakephp,Php,Email,Cakephp,我正在尝试用cakephp调试我的电子邮件,因为我无法发送测试邮件。然而,我所做的每件事都只给了我一个空白的网页,甚至是调试。我已经将调试模式设置为2。以下是我的代码: C:\xampp\htdocs\NewFolder\app\webroot\email\app\controllersmailer\u controller.php <?php class MailerController extends AppController { var $name = 'Maile
<?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
<?php echo $this->Session->flash(); ?>
<?php echo $this->Session->flash('email'); ?>
<!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>
<?php echo $content_for_layout; ?>
C:\xampp\htdocs\NewFolder\app\webroot\email\app\views\layouts\email\html\default.ctp
<?php echo $this->Session->flash(); ?>
<?php echo $this->Session->flash('email'); ?>
<!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>
<?php echo $content_for_layout; ?>
C:\xampp\htdocs\NewFolder\app\webroot\email\app\views\layouts\email\text\default.ctp
<?php echo $this->Session->flash(); ?>
<?php echo $this->Session->flash('email'); ?>
<!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>
<?php echo $content_for_layout; ?>
如果您在本地运行此应用程序,我相信您需要设置邮件服务器才能工作,否则您可以对任何提供商使用smtp邮件选项。为此,您必须配置邮件设置 在app\config中,您可以创建一个文件email.php
除了需要一个可访问的SMTP服务器外,您还不能将此语句放在函数之外
$this->Email->delivery = 'debug'; // needs to be *inside* a function
还请注意,当您使用此命令时,它只会将电子邮件保存到会话变量中,而不会发送它。gvLearner,此行的作用是:$email=new CakeEmail;它是cakephp中的内置函数吗?端口是否始终为465?对于使用smtp选项,您必须使用端口465。CakeEmail是一个内置类。