如何通过gmail smtp与laravel发送邮件?

时间:2019-01-04 08:05:19

标签: laravel email

我想在我的网站上与我们联系页面,我已经成功使用mailtrap进行了操作,但是当我想使用gmail smtp服务器发送邮件时,我什么也没有收到,也没有收到任何错误。 这是我的.env邮件配置:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=myemail
MAIL_PASSWORD=my_app_password
MAIL_ENCRYPTION=ssl

我用来发送电子邮件的代码:

    $obj=new \stdClass();       
    $obj->contenu=$request->input('contenu');
    $obj->objet=$request->input('objet');
    $obj->email=$request->input('email');
    $data=array('contenu'=>$obj->contenu,'email'=>$obj->email);
    Mail::send("front.contactUs",$data,function ($message) use ($obj){
        $message->from($obj->email);
        $message->to('salondesbelleslettres@gmail.com')
                ->subject($obj->objet);
    });
    if(count(Mail::failures())>0){
        return redirect()->back()->with('error','Votre demande na pas ete soumise');
    }else{
        return redirect()->back()->with('success','Merci de Nous Avoir Contacté');
    }

谢谢。

3 个答案:

答案 0 :(得分:3)

需要将您的.env文件更改为以下内容:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=apppassword
MAIL_ENCRYPTION=tls

完成.env编辑后,请在您的终端中输入以下命令以清除缓存:

php artisan config:cache

您需要生成应用密码,并且可以在.env文件中使用该应用密码。

如何生成应用密码:

  1. 转到您的Google Account

  2. 在左侧导航面板上,单击安全性

  3. 登录 Google 面板上,单击应用密码。 (注意:如果您无法进入页面,则两步验证为: 未设置您的帐户, 仅设置安全密钥)

  4. 在底部,单击“选择应用”,然后选择您正在使用的应用。

  5. 点击选择设备,然后选择您正在使用的设备。
  6. 点击生成
  7. 按照说明在设备上输入应用密码(黄色栏中的16个字符代码)。
  8. 点击完成

完成后,您将不会再看到该应用的密码。

注意:您可能无法为less secure apps创建应用密码。

答案 1 :(得分:1)

这些设置对我有用。

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls

答案 2 :(得分:1)

您应该尝试以下操作:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=youremailaddress@gmail.com
MAIL_PASSWORD=gtxajikwsqmlaqcr  // your app password
MAIL_ENCRYPTION=tls
相关问题