Для отправки писем с использованием Laravel из-под OpenServer, вам потребуется выполнить несколько шагов.
Шаг 1: Конфигурация почтового сервера
Вам нужно установить и настроить почтовый сервер, чтобы Laravel мог отправлять письма. OpenServer поставляется с предустановленным почтовым сервером — mailhog, который позволяет вам легко перехватывать и просматривать отправленные письма в локальной среде разработки. Вы можете настроить mailhog, открыв конфигурационный файл php.ini (путь к файлу: ..OpenServermodulesphp[версия]php.ini) и найдя строку, начинающуюся с "smtp". Затем установите значения параметров по требованию. Например:
smtp_port = 1025 sendmail_from = [email protected]
Шаг 2: Установка и настройка Laravel
Убедитесь, что у вас установлен PHP, Composer и Laravel. Если нет, скачайте их с официальных веб-сайтов и установите.
Шаг 3: Создание маршрута
Вам нужно создать маршрут в Laravel, чтобы иметь возможность вызвать код, отправляющий письмо. Откройте файл routes/web.php и добавьте следующий код:
use IlluminateSupportFacadesMail; use AppMailSampleMail; Route::get('/send-mail', function () { $details = [ 'title' => 'Mail from Laravel', 'body' => 'This is a test email from Laravel using OpenServer.' ]; Mail::to('[email protected]')->send(new SampleMail($details)); return 'Email sent successfully.'; });
Шаг 4: Создание почтового класса
Теперь вам нужно создать почтовый класс, который будет отвечать за создание и отправку письма. Создайте новый файл в директории appMail с названием SampleMail.php и добавьте следующий код:
namespace AppMail; use IlluminateMailMailable; class SampleMail extends Mailable { public $details; public function __construct($details) { $this->details = $details; } public function build() { return $this->subject('Sample Mail') ->view('emails.sample'); } }
Шаг 5: Создание шаблона письма
Создайте файл ресурсов view в каталоге resources/views/emails/sample.blade.php и добавьте следующий код:
<!DOCTYPE html> <html> <head> <title>Sample Mail from Laravel</title> </head> <body> <h1>{{ $details['title'] }}</h1> <p>{{ $details['body'] }}</p> </body> </html>
Шаг 6: Тестирование
Откройте веб-браузер и перейдите по адресу http://localhost/send-mail. Это вызовет маршрут, который мы создали ранее, и отправит письмо на указанный адрес. Если все настроено правильно, вы увидите сообщение "Email sent successfully".
Обратите внимание, что для отправки писем с Опенсервером через Laravel, у вас должен быть доступ к Интернету, чтобы почтовые серверы могли доставить письмо на указанный адрес. Проверьте, что ваше устройство подключено к Интернету.
Если у вас все еще возникают проблемы с отправкой писем, убедитесь, что настройки почтового сервера OpenServer и код Laravel соответствуют правильным параметрам SMTP.