У меня все нормально .. работа в локальном хосте .. почта отправляется с локального хоста ... но когда я загрузил его на сервер, почта не наступает, и исключение тоже не выбрасывается ... вот мой .env код файлаLaravel: отправка почты с сервера
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
и вот мой код контроллера
protected function create(array $data)
{
//dd($data);
$models = new User;
$user=User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
/*'usertype' =>$data['usertype'],*/
'status' => 0,
]);
$use = array('name' => 'Admin');
//$models->emailw = Auth::user()->email;
$message_id = "";
$name = "";
Mail::send('emailMessage', $use, function ($m) use ($message_id,$name){
$message_id = DB::getPdo()->lastInsertId();
$name = DB::table('users')->select('name')->where('id','=', $message_id)->pluck('name');
//$email = DB::table('users')->select('email')->where('id','=', $message_id)->pluck('email');
$subject = "Id = ". $message_id . " name = " .$name[0];
$m->to('[email protected]')
->subject($subject);
});
return $user;
}
и вот мой mail.php код
<?php
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => 'smtp.gmail.com',
'port' => 587,
'from' => [
'address' => '[email protected]',
'name' => 'Admin',
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
];
Что мне нужно изменить здесь?
Вы проверили ваш хостинг, что порт для почты не блокируется брандмауэром ('port587')? – KuKeC
Измените номер порта. to '465' –
@KuKeC порт открыт @K arun попробовал этот порт, все еще не работает – incorporeal