gpt4 book ai didi

cakephp-3.0 - 如何在 CakePHP 3 中使用电子邮件传输类 "Debug"

转载 作者:行者123 更新时间:2023-12-04 00:40:25 44 4
gpt4 key购买 nike

如何在 CakePHP 3 中使用电子邮件传输类“Debug”查看结果(最终邮件)?或者我在哪里可以找到返回的结果? the book 中没有关于电子邮件调试的详细信息.

config/app.php 它说

// Each transport needs a `className`. Valid options are as follows:
// - Mail : Send using PHP mail function
// - Smtp : Send using SMTP
// - Debug : Do not send the email, just return the result

所以我设置

'EmailTransport' => [
'default' => [
'className' => 'Debug',
],
],

在测试 Controller 中:

namespace App\Controller;
use App\Controller\AppController;
use Cake\Event\Event;
use Cake\Network\Exception\NotFoundException;
use Cake\Mailer\Email;

class TestsController extends AppController {
public function email_test() {
$email = new Email('default');
$email->from(['website@example.com' => 'My Site'])
->to('destination@example.com')
->subject('Here the subject')
->send('Here the mail content'));
}
}

但是结果(最终邮件)保存或显示在哪里?

我希望在 /tmp//logs/ 中得到 Debug 结果,但在那里找不到有关最终邮件的任何信息。

如果我在浏览器 (localhost/test/email_test/) 中查看测试页,则不会显示任何内容(因为我不知道在查看模板中添加什么以进行电子邮件调试)。 CakePHP-DebugKit 中也没有关于邮件的信息...

(如果相关的话,我目前正在使用 CakePHP 3.1 beta 进行测试)

最佳答案

Email::send() 方法正在返回结果。它总是返回邮件内容,只是 Debug 传输实际上并没有发送它。

$result = $email->...->send('Here the mail content');
debug($result);

https://github.com/cakephp/.../3.1.0-beta2/src/Mailer/Transport/DebugTransport.php#L36

我猜文档中的一些更多细节不会有什么坏处。

如果您想记录邮件,则必须使用 log 选项在传输配置中启用/配置日志记录。默认设置为 false

'log': Log level to log the email headers and message. true will use LOG_DEBUG

Cookbook > Email > Configuration Profiles

关于cakephp-3.0 - 如何在 CakePHP 3 中使用电子邮件传输类 "Debug",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31880386/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com