Метод attach
Метод attach применяется к экземпляру класса
MailMessage и позволяет добавить файл к письму.
Первый параметр принимает путь к файлу, второй -
массив опций с настройками вложения.
Метод возвращает тот же экземпляр MailMessage,
что позволяет строить цепочки вызовов.
Синтаксис
<?php
$message->attach($filePath, $options = []);
?>
Пример
Давайте добавим обычное вложение к письму:
<?php
namespace AppNotifications;
use IlluminateNotificationsNotification;
use IlluminateNotificationsMessagesMailMessage;
class OrderNotification extends Notification
{
public function toMail($notifiable)
{
return (new MailMessage)
->subject('Новый заказ')
->line('Благодарим вас за заказ.')
->attach('/path/to/invoice.pdf');
}
}
?>
Пример
Давайте добавим вложение с дополнительными опциями:
<?php
namespace AppNotifications;
use IlluminateNotificationsNotification;
use IlluminateNotificationsMessagesMailMessage;
class WelcomeNotification extends Notification
{
public function toMail($notifiable)
{
return (new MailMessage)
->subject('Добро пожаловать')
->greeting('Привет!')
->line('Рады видеть вас на нашем сайте.')
->attach(
'/path/to/file.pdf',
[
'as' => 'welcome.pdf',
'mime' => 'application/pdf'
]
);
}
}
?>
Пример
Давайте добавим несколько вложений к одному письму:
<?php
namespace AppNotifications;
use IlluminateNotificationsNotification;
use IlluminateNotificationsMessagesMailMessage;
class ReportNotification extends Notification
{
public function toMail($notifiable)
{
return (new MailMessage)
->subject('Ежемесячный отчёт')
->line('Ваш отчёт готов.')
->attach('/path/to/report.xlsx')
->attach('/path/to/summary.pdf');
}
}
?>
Результат выполнения кода:
"Письмо отправлено с двумя вложениями"
Смотрите также
-
класс
MailMessage,
который представляет письмо в уведомлениях -
метод
line,
который добавляет строку текста в письмо -
метод
subject,
который устанавливает тему письма -
метод
attach,
который добавляет вложения в классеMailable