Как отправить письмо с Ларавель из-под Опенсервер?

Для отправки писем с использованием 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.