最后!!!我发现了问题,感到很ham愧,我只是修改了 糟糕的.env ....如您所见,我修改了.env.example而不是 .env !!!!非常感谢您的支持。真是愚蠢 错误^^
+++
我非常努力解决此问题。我需要使用Laravel将联系表单发送到我的邮箱。也许您更喜欢我的存储库git。
这是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中,但是我不知道该怎么写...
已修改:::
答案 0 :(得分:0)
您是否已在Gmail设置中启用SMTP?
转到“设置”,例如单击“齿轮”图标,然后选择“设置”。 单击“转发和POP / IMAP”。 启用“ IMAP访问”和/或“ POP下载”
答案 1 :(得分:0)
图片中的错误表明需要进行身份验证,因此您需要从gmail帐户启用两步验证。
https://myaccount.google.com/security
您还可以通过上面的链接生成密钥,然后设置您的MAIL_PASSWORD
而不是您的真实密码。