如何管理.env文件以便在laravel中以联系形式接收电子邮件?

时间:2018-08-25 23:31:32

标签: php email laravel-5.4 contactus

我正在一个建立了联系我们表格的网站上工作,该表格同时包含控制器和html,如下所示。

控制器代码段为:

{
return view('posting');
}
public function store(Request $request)
{
/*
dd($request->all());
*/   
$this->validate($request, [
'name' => 'required',
'email' => 'required|email',
'number' => 'required',
'city' => 'required',
'post' => 'required'
]);
}

该表单的HTML代码段为:

div class="form-row">
<div class="form-group disney_posting_number pr-4 col-md-6">
   <label class="ml-1" style="width:100%;text-align:left;">number*</label>
   <input type="number" name="number" class="form-control">
   @if ($errors->has('number'))
   <small class="form-text invalid-feedback">{{$errors->first('number')}}</small>
   @endif
</div>
<div class="form-group disney_posting_city pl-4 col-md-6">
   <label class="ml-1" style="width:100%;text-align:left;">city*</label>
   <input type="city" name="city" class="form-control">
   @if ($errors->has('city'))
   <small class="form-text invalid-feedback">{{$errors->first('city')}}</small>
   @endif
</div>
</div>

现在,我不确定要真正开始接收电子邮件需要对.env文件进行哪些更改。目前,.env文件具有以下详细信息:

MAIL_DRIVER=log
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=abc@gmail.com
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls

填写表格后,信息会进入 laravel日志部分内。


问题陈述

我想知道我需要在.env文件中进行哪些更改,以便开始接收电子邮件。这是我第一次构建该表单,因此我不确定在上述.env文件部分中需要添加哪些字段才能使其真正起作用。

1 个答案:

答案 0 :(得分:1)

我希望您的Gmail凭据正确无误。将MAIL_DRIVER从日志更改为smtp。

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

还运行php artisan config:cache清除旧内容并缓存更新的设置。

编辑

登录到您的Gmail帐户,然后单击您的个人资料pix附近的菜单。 Account > Sign In And Security > Sign In to Google, Enable 2 step verification。 然后,您可以生成应用密码。使用您的.env文件中的应用密码。