cakephp 3.5中的电子邮件功能

时间:2018-01-18 17:51:56

标签: cakephp cakephp-3.x cakephp-3.4

我必须在cakephp 3.5中使用普通的php而不是Smtp来实现发送邮件功能。

我必须发送我放在Template / Email / html下的html testingreport.ctp。

下面我添加了controller和app.php代码。

我收到错误传输配置"邮件"缺少。

我在这里发送的邮件是什么?

//app.php
'EmailTransport' => [
    'default' => [
        'className' => 'Mail',
        // The following keys are used in SMTP transports
        'host' => 'localhost',
        'port' => 25,
        'timeout' => 30,
        'username' => 'user',
        'password' => 'secret',
        'client' => null,
        'tls' => null,
        'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
    ],
],
'Email' => [
    'default' => [
            'log' => true,
            'transport' => 'Mail',
            'emailFormat'=>'html',
            'charset' => 'utf-8',
            'headerCharset' => 'utf-8',
    ],
],


 // controller
$email = new Email('default');
    $email
    ->transport('testingreport','testingreport')
    ->from(['dkvastrakar18@gmail.com' => 'dkvastrakar18@gmail.com'])
    ->to('dkvastrakar18@gmail.com')
    ->subject('subjects')
    ->emailFormat('html')
    ->viewVars($testRequestDet)
    ->send('sendmail');

1 个答案:

答案 0 :(得分:1)

电子邮件配置文件transport配置选项指向EmailTransport配置中的条目,而不是电子邮件传输类,后者是通过className选项配置的。具体的运输配置。

长话短说:

'transport' => 'Mail'

应该是:

'transport' => 'default'

另见