SMTP服务器不接受密码。升级到cakephp3.6

时间:2018-09-21 07:47:18

标签: php cakephp

我将cakephp3.2升级到cakephp3.6。电子邮件功能不起作用,我将cakephp3.2中工作电子邮件中的应用程序文件中的相同代码复制到cakephp3.6中的应用程序文件中。密码存在并且可以正常工作。为了安全起见,我在这里进行了编辑。 3.6中发生了什么变化?

它说“ SMTP服务器不接受密码。”

//in model 
 public function sendemail($to,$from,$subject,$message) {
                  $to='xxxx@gmail.com';
                     $Email = new Email('default');
                 //  $Email->config('gmail3'); 
                    $Email->from(['xxx@gmail.com' => 'My Email'])
                      ->to($to)
                      ->subject($subject)
                      ->send($message);


  }//public


//in app file


'EmailTransport' => [
    'default' => [
          'className' => 'Smtp',
        'host' => 'ssl://smtp.gmail.com',
        'port' => 465,
        'username'=>'xx@gmail.com',
        'password'=>'xx',
         'log' => true,
     'context' => [
         'ssl' => [
             'verify_peer' => false,
             'verify_peer_name' => false,
             'allow_self_signed' => true
          ]
         ]
    ],
  ],


'Email' => [
    'default' => [
        'transport' => 'default',
        'from' => 'xx@gmail.com',
        //'charset' => 'utf-8',
        //'headerCharset' => 'utf-8',
    ],
],

1 个答案:

答案 0 :(得分:0)

 'default' => [
    'className' => 'Smtp',
    'host' => 'smtp.gmail.com',
    'port' => 587 //or 465,
    'timeout' => 30,
    'username' => 'email',
    'password' => 'pass',
    'client' => null,
    'tls' => true,
],

此配置对我有用。