I'm using CakePHP 3.0.15 so I had to use Cake\Network\Email\Email;
instead of use Cake\Mailer\Email;
. Anyways, I have my EmailTransport
in app.php
configured like this:
'EmailTransport' => [
'gmail' => [
'className' => 'Smtp',
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'timeout' => 30,
'username' => 'examplesender@gmail.com',
'password' => 's2d5f8t9',
'client' => null,
'tls' => null,
]
],
And have this in my controller:
$email = new Email();
$email->transport('gmail')
->to('examplereveiver@gmail.com', 'Example Receiver')
->from('examplesender@gmail.com', 'Example Sender')
->subject('Test Subject')
->send('Message!!!!!');
Then it gives me the error:
Transport config "gmail" is missing.
However, when I configure the transport in my controller, just before using it, like this:
Email::configTransport('gmail', [
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'username' => 'examplesender@gmail.com',
'password' => 's2d5f8t9',
'className' => 'Smtp'
]);
It works and sends the email. Still, I'd like to configure the transport in app.php
so I would be able to use the same transport config multiple times.
Thanks!!!