Cakephp 3 Cake\Network\Email configTransport 问题
Cakephp 3 Cake\Network\Email configTransport Issue
我正在使用 Cake\Network\Email\Email class 发送一些电子邮件。
我已成功发送一封电子邮件,其中包含我在 config/app 上设置的 smtp 配置。php
问题是我不希望配置在那里。
我有这段代码:
function enviacorreo($email, $asunto, $content, $cc=null) {
Email::configTransport('gmail', [
'port'=>$smtpport,
'timeout'=>'30',
'host' => $smtp,
'username'=>$smtpuser,
'password'=>$smtppasswd
]);
$email_obj = new Email();
$email_obj->template('default')
->emailFormat('html')
->to($email)
->from([$smtpuser => $nombreSistema])
->subject($asunto)
->transport('gmail');
if($email_obj->send($content))
return array('exito'=>1,'error'=>'Ninguno');
else
return array('exito'=>0,'error'=>'El correo no pudo ser enviado');
}
我在关注正书here
我得到的错误是:
Transport config "gmail" is missing.
我知道 ->transport('gmail');
正在 app.php 中定义的 EmailTransport
数组中查找键
但。我怎样才能在我的代码中包含这个 'configuration'?
希望解释清楚
错误消息有点误导,因为不仅在缺少配置的情况下抛出异常,而且在缺少 className
选项的情况下抛出异常,在您的示例中就是这种情况(#7204).
如果您仔细查看文档,您应该会发现您没有正确遵循它。
[...]
// Sample smtp configuration.
Email::configTransport('gmail', [
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'username' => 'my@gmail.com',
'password' => 'secret',
'className' => 'Smtp' // <------ there it is
]);
[...]
我正在使用 Cake\Network\Email\Email class 发送一些电子邮件。
我已成功发送一封电子邮件,其中包含我在 config/app 上设置的 smtp 配置。php
问题是我不希望配置在那里。 我有这段代码:
function enviacorreo($email, $asunto, $content, $cc=null) {
Email::configTransport('gmail', [
'port'=>$smtpport,
'timeout'=>'30',
'host' => $smtp,
'username'=>$smtpuser,
'password'=>$smtppasswd
]);
$email_obj = new Email();
$email_obj->template('default')
->emailFormat('html')
->to($email)
->from([$smtpuser => $nombreSistema])
->subject($asunto)
->transport('gmail');
if($email_obj->send($content))
return array('exito'=>1,'error'=>'Ninguno');
else
return array('exito'=>0,'error'=>'El correo no pudo ser enviado');
}
我在关注正书here 我得到的错误是:
Transport config "gmail" is missing.
我知道 ->transport('gmail');
正在 app.php 中定义的 EmailTransport
数组中查找键
但。我怎样才能在我的代码中包含这个 'configuration'?
希望解释清楚
错误消息有点误导,因为不仅在缺少配置的情况下抛出异常,而且在缺少 className
选项的情况下抛出异常,在您的示例中就是这种情况(#7204).
如果您仔细查看文档,您应该会发现您没有正确遵循它。
[...]
// Sample smtp configuration. Email::configTransport('gmail', [ 'host' => 'ssl://smtp.gmail.com', 'port' => 465, 'username' => 'my@gmail.com', 'password' => 'secret', 'className' => 'Smtp' // <------ there it is ]);
[...]