РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
818 of 1392 menu

Метод send

Метод send класса Mail применяется для отправки электронных писем. Первым параметром передаётся класс письма, вторым - замыкание для настройки получателя. Метод возвращает пустой результат при успешной отправке.

Синтаксис

<?php Mail::send($mailable, $callback); ?>

Пример

Давайте создадим класс письма и отправим его с использованием метода send:

<?php namespace AppMail; use IlluminateBusQueueable; use IlluminateMailMailable; use IlluminateMailMailablesContent; use IlluminateMailMailablesEnvelope; use IlluminateQueueSerializesModels; class WelcomeMail extends Mailable { use Queueable, SerializesModels; public $name; public function __construct($name) { $this->name = $name; } public function envelope(): Envelope { return new Envelope( subject: 'Welcome to our site', ); } public function content(): Content { return new Content( view: 'emails.welcome', ); } } ?>
<h1>Welcome, {{ $name }}!</h1> <p>Thank you for registering on our site.</p>
<?php namespace AppHttpControllers; use AppMailWelcomeMail; use IlluminateSupportFacadesMail; use AppModelsUser; class UserController extends Controller { public function register() { $user = User::find(1); Mail::send(new WelcomeMail($user->name), function ($message) use ($user) { $message->to($user->email); }); return 'Email sent successfully'; } } ?>

Результат выполнения кода:

"Email sent successfully"

Пример

Отправим письмо с указанием темы и получателя прямо в замыкании:

<?php namespace AppHttpControllers; use AppMailOrderConfirmation; use IlluminateSupportFacadesMail; class OrderController extends Controller { public function confirm($orderId) { $order = Order::find($orderId); Mail::send(new OrderConfirmation($order), function ($message) { $message->to('customer@example.com') ->subject('Your order has been confirmed'); }); return 'Order confirmed and email sent'; } } ?>

Результат выполнения кода:

"Order confirmed and email sent"

Пример

Отправим письмо сразу нескольким получателям с использованием массива email-адресов:

<?php namespace AppHttpControllers; use AppMailNewsletterMail; use IlluminateSupportFacadesMail; class NewsletterController extends Controller { public function sendNewsletter() { $emails = ['user1@example.com', 'user2@example.com', 'user3@example.com']; Mail::send(new NewsletterMail(), function ($message) use ($emails) { $message->to($emails); }); return 'Newsletter sent to all subscribers'; } } ?>

Результат выполнения кода:

"Newsletter sent to all subscribers"

Смотрите также

  • метод to,
    который определяет получателя письма
  • метод queue,
    который помещает письмо в очередь на отправку
  • метод raw,
    который отправляет письмо с простым текстом
  • класс Mailable,
    который используется для создания писем
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить