代码之家  ›  专栏  ›  技术社区  ›  Manoj Dhiman

cakephp 3电子邮件和smtp不工作

  •  0
  • Manoj Dhiman  · 技术社区  · 7 年前

    我试图从我的cakephp 3应用程序发送电子邮件。但每次它使用本地主机smtp时,我都会收到错误。

    enter image description here

    这是我的密码。

    public function sendEmail($email, $subject, $message){
    
            // Sample SMTP configuration.
            $this->loadModel('Generalsettings');
            $query = $this->Generalsettings->find('all')->where(['meta_key' => 'smtp_details'])->applyOptions(['default' => false]);
            $smtpdetail = $query->first();
            $detail = json_decode($smtpdetail->value);
            Email::configTransport('gmail', [
                'host' => $detail['host'], //value is 'ssl://smtp.gmail.com'
                'port' => $detail['port'], //value is 465
                'username' => $detail['username'],
                'password' => $detail['password'],
                'className' => 'Smtp'
            ]);
            $emailClass = new Email();
            $emailClass->from(['er.dhimanmanoj@gmail.com' => "Sender"])
                 ->to($email)
                 ->subject($subject)
                 ->send($message);
        }
    

    如果我做错了什么,请告诉我提前谢谢。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Ishan    7 年前

    您尚未指定刚才使用 configTransport() 方法。所以它把 default config/app.php中的设置。

    您可以这样设置传输:

    $emailClass = new Email();
    $emailClass->transport('gmail');
    

    注意:从3.4.0版开始就不推荐使用:使用setTransport()而不是transport()。

    有关更多信息,请参阅此链接@ https://book.cakephp.org/3.0/en/core-libraries/email.html

    希望这有帮助!

    推荐文章