Laravel как отправить email
Laravel-среда для разработки приложений предлагает простой и удобный способ отправки писем с помощью встроенного драйвера. Данная статья описывает процесс создания и отправки письма с примером.
Отправка email с помощью фреймворка Laravel достаточно простая. Все, что вам нужно, это определить маршрут для отправки письма, написать код для отправки письма в контроллере и создать шаблон электронной почты. После этого вы можете использовать этот маршрут для отправки письма из любого места вашего приложения.
Настройка маршрута
В первую очередь, нам нужно определить маршрут для отправки письма. Откройте файл routes/web.php и добавьте следующий маршрут:
Route::post('/send-email', 'EmailController@send');
В этом маршруте мы указали метод POST и добавили контроллер EmailController и метод send.
Контроллер
Для отправки письма нам нужен контроллер. В Laravel вы можете легко создать контроллер с помощью artisan команды.
php artisan make:controller EmailController
Откройте после этого файл app/Http/Controllers/EmailController.php и добавьте следующий код:
public function send(Request $request)
{
$data = [
'title' => 'Заголовок письма',
'body' => 'Содержание письма'
];
Mail::send('emails.test', $data, function($message) {
$message->to('email@example.com', 'Имя получателя')->subject('Тема письма');
});
return back()->with('success', 'Письмо отправлено!');
}
В контроллере определен метод send, который принимает объект Request и предоставляет два параметра для шаблона письма: заголовок и содержание. Мы также используем Mail facade для отправки письма с данными параметрами, адресом электронной почты и темой письма.
Шаблон письма
Теперь нам нужно создать шаблон письма. В папке resources/views создайте папку emails и добавьте файл test.blade.php. Это будет шаблоном для письма, и мы будем использовать два параметра, переданные из контроллера. В этом файле добавьте следующий код:
<html>
<head>
<title></title>
</head>
<body>
<h1>{{ $title }}</h1>
<p>{{ $body }}</p>
</body>
</html>
В этом шаблоне мы используем два параметра, переданные из контроллера. Теперь мы можем отправить письмо из любого места в приложении, используя этот маршрут.