Отправка сообщений с сервера Laravel: Mail, Mailable Class и SwiftMailer

Чтобы отправить сообщение с сервера Laravel, вы можете использовать различные методы в зависимости от ваших требований. Вот некоторые часто используемые подходы с примерами кода:

  1. Использование встроенного фасада Mail Laravel:

    use Illuminate\Support\Facades\Mail;
    Mail::send([], [], function ($message) {
    $message->to('recipient@example.com')
            ->subject('Hello from Laravel')
            ->setBody('This is the message body');
    });
  2. Создание класса Mailable:

    php artisan make:mail WelcomeEmail
    // In app/Mail/WelcomeEmail.php
    use Illuminate\Bus\Queueable;
    use Illuminate\Mail\Mailable;
    use Illuminate\Queue\SerializesModels;
    class WelcomeEmail extends Mailable
    {
    use Queueable, SerializesModels;
    public function build()
    {
        return $this->to('recipient@example.com')
                    ->subject('Welcome to Laravel')
                    ->view('emails.welcome');
    }
    }
    // In resources/views/emails/welcome.blade.php
    <p>This is the message body of the welcome email.</p>

    Чтобы отправить электронное письмо:

    use App\Mail\WelcomeEmail;
    use Illuminate\Support\Facades\Mail;
    Mail::send(new WelcomeEmail());
  3. Использование сторонней библиотеки, например SwiftMailer:

    use Swift_Mailer;
    use Swift_Message;
    use Swift_SmtpTransport;
    $transport = new Swift_SmtpTransport('smtp.mailtrap.io', 587);
    $transport->setUsername('your_username');
    $transport->setPassword('your_password');
    $mailer = new Swift_Mailer($transport);
    $message = new Swift_Message('Hello from Laravel');
    $message->setFrom(['your_email@example.com' => 'Your Name']);
    $message->setTo(['recipient@example.com']);
    $message->setBody('This is the message body');
    $mailer->send($message);

Эти методы демонстрируют различные способы отправки сообщений с сервера Laravel. Выберите тот, который лучше всего соответствует потребностям вашего проекта.