CakePHP:缺少传输配置“ gmail”

时间:2018-08-23 11:22:31

标签: php email cakephp cakephp-3.0

我正在使用CakePHP 3.0.15,因此我不得不使用use Cake\Network\Email\Email;而不是use Cake\Mailer\Email;。无论如何,我在EmailTransport中的app.php配置如下:

'EmailTransport' => [
    'gmail' => [
        'className' => 'Smtp',
        'host' => 'ssl://smtp.gmail.com',
        'port' => 465,
        'timeout' => 30,
        'username' => 'examplesender@gmail.com',
        'password' => 's2d5f8t9',
        'client' => null,
        'tls' => null,
    ]
],

并将其保存在我的控制器中

    $email = new Email();
    $email->transport('gmail')
        ->to('examplereveiver@gmail.com', 'Example Receiver')
        ->from('examplesender@gmail.com', 'Example Sender')
        ->subject('Test Subject')
        ->send('Message!!!!!');

然后它给了我错误:

Transport config "gmail" is missing.

但是,当我在控制器中配置传输时,就像在使用它之前一样,

    Email::configTransport('gmail', [
        'host' => 'ssl://smtp.gmail.com',
        'port' => 465,
        'username' => 'examplesender@gmail.com',
        'password' => 's2d5f8t9',
        'className' => 'Smtp'
    ]);

它可以工作并发送电子邮件。不过,我仍想在app.php中配置传输,以便能够多次使用相同的传输配置。

谢谢!

0 个答案:

没有答案