我正在实施电子邮件功能,它也正常工作。现在我必须在本地调试所以做了一些更改,如下所示 在app / config / email.php我创建了这个
public $test = array(
'from' => 'you@localhost',
'transport' => 'Debug',
);
现在在我的控制器中我写了下面的代码
$Email = new CakeEmail('test');
$email->template('adddoctor', 'add');
//$email->emailFormat('html');
$email->from('sender@example.com');
$email->to('recipient@example.com');//$data['User']['email_id'];
$email->subject('Account Detail');
$email->send();
发送邮件后,它会重定向到索引页面。所以在index.ctp文件中我写了
<?php echo $this->Session->flash('email'); ?>
我不想发送实际邮件,但我只想展示它。 所以任何人都可以告诉我,我还需要做哪些更改才能进行电子邮件调试? 这里有些人给出了答案 CakeEmail debug
但不明白在哪里写代码?
答案 0 :(得分:3)
这是您将电子邮件保存到日志中所需要做的事情,这与您尝试实施的其他问题的解决方案有关:
应用/配置/ email.php 强>
public $test = array(
'log' => true
);
您的控制器
$Email = new CakeEmail('test');
$email->template('adddoctor', 'add');
$email->from('sender@example.com');
$email->to('recipient@example.com');
$email->subject('Account Detail');
$email->send();
如果您进入 app / tmp / logs / debug.log ,您会看到一封包含标题和消息的电子邮件条目
2012-11-27 14:37:47 Debug:
From: My Site <me@example.com>
X-Mailer: CakePHP Email
Date: Tue, 27 Nov 2012 14:37:47 +0000
Message-ID: <50ad02b4b1fba42733cc02456a@example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
My message
但是,在我看来,除非你想看到标题,否则这一切都毫无用处。首先,您实际上无法“看到”您的电子邮件的样子,其次,该电子邮件将继续发送给收件人。
如果你想看看你的电子邮件的实际布局/ CSS是什么样的,你可能最好给自己发送一些测试电子邮件。
我不知道为什么Cake摆脱了旧的电子邮件调试功能,因为它更有帮助。
答案 1 :(得分:1)
$Email = new CakeEmail('test');
$email->template('adddoctor', 'add');
您正在将对象创建为$Email
并使用$email
作为拼写错误?
答案 2 :(得分:1)
$response = $Email->send();
$response['headers']; // headers as string
$response['message']; // message body with attachments
$this->Session->setFlash($response['headers'].$response['message']);
确保布局文件中包含以下内容。
echo $this->Session->flash();