问题Laravel无法将表格发送到我的邮件

时间:2019-02-26 14:11:25

标签: php laravel laravel-5.4

  

最后!!!我发现了问题,感到很ham愧,我只是修改了   糟糕的.env ....如您所见,我修改了.env.example而不是   .env !!!!非常感谢您的支持。真是愚蠢   错误^^

+++

我非常努力解决此问题。我需要使用Laravel将联系表单发送到我的邮箱。也许您更喜欢我的存储库git。

出现错误image : error message

这是mail.php

<?php return [

'driver' => env('MAIL_DRIVER', 'smtp'),

'host' => env('MAIL_HOST', 'smtp.gmail.com'),

'port' => env('MAIL_PORT', 587),

'from' => ['address' => 'a@a.com',

'name' => 'Test'],

'encryption' => env('MAIL_ENCRYPTION', 'tls'),

'username' => env('MAIL_USERNAME'),

'password' => env('MAIL_PASSWORD'),

'sendmail' => '/usr/sbin/sendmail -bs',

'markdown' => [
    'theme' => 'default',

    'paths' => [
        resource_path('views/vendor/mail'),
    ],
],    
];

我的web.php

<?php
Route::get('contact', 'ContactController@getForm');
Route::post('contact', 'ContactController@postForm');

ContactRequest.php

<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ContactRequest extends FormRequest
{
/**
 * Determine if the user is authorized to make this request.
 *
 * @return bool
 */
public function authorize()
{
    return true;
}

/**
 * Get the validation rules that apply to the request.
 *
 * @return array
 */
public function rules()
{
    return [
        'nom' => 'required|min:5|max:20|alpha',
        'email' => 'required|email',
        'texte' => 'required|max:250'
    ];
}
}

ContactController.php

<?php
 namespace App\Http\Controllers;
use Mail;
use App\Http\Requests\ContactRequest;
class ContactController extends Controller {


public function getForm()
{
    return view('contact');
}

public function postForm(ContactRequest $request)
{
    Mail::send('email_contact', $request->all(), function($message)
    {
        $message->to('a@a.com')->subject('Contact');
    });

    return view('confirm');
}
}

.env.example Image : code

UserController.php

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class UsersController extends Controller      
{
public function getInfos()

{
    return view('infos');
}

public function postInfos(Request $request)
{
    return 'Le nom est ' . $request->input('nom') ." ".$request->input('prenom');

}
}

我不知道问题出在哪里,可能在函数_assertResponseCode中,但是我不知道该怎么写...

已修改:::

Second picture of my security account

New Picture of my security account

2 个答案:

答案 0 :(得分:0)

您是否已在Gmail设置中启用SMTP?

转到“设置”,例如单击“齿轮”图标,然后选择“设置”。 单击“转发和POP / IMAP”。 启用“ IMAP访问”和/或“ POP下载”

答案 1 :(得分:0)

图片中的错误表明需要进行身份验证,因此您需要从gmail帐户启用两步验证。

https://myaccount.google.com/security

您还可以通过上面的链接生成密钥,然后设置您的MAIL_PASSWORD而不是您的真实密码。