Laravel предоставляет очень простой API для отправки почты пользователям. Сегодня в этой теме я покажу вам, как отправить письмо с вложением с помощью mailtrap.io.

MailTrap — это инструмент, с помощью которого мы можем тестировать нашу исходящую почту, ее внешний вид и поведение на различных устройствах. Все, чему мы сегодня будем учиться.

Сделать класс почтовой программы laravel

В laravel мы можем создать класс почтовой программы через artisan command.

Он создаст имя файла SendMailWithAttachment.php в каталоге App\Mail. Просто скопируйте и вставьте содержимое ниже в сгенерированный файл.

В приведенном выше примере мы реализуем интерфейс ShouldQueue, потому что я обычно использую очередь laravel для отправки почты, поскольку пользователь не должен ждать, пока почта будет отправлена, поэтому я использую Queue.

По сути, в методе build() мы указываем идентификатор электронной почты получателя в методе to(), в методе attach() мы указываем полный путь к файлу, который мы отправляем в качестве вложения, поскольку мой файл находится в хранилище laravel. каталог только поэтому я вызываю файл с помощью вспомогательной функции storage_path(). В конце концов, я использую markdown(), так как это позволяет нам использовать почтовый шаблон с пользовательскими значениями.

resources/views/mail_example.blade.php

Настройка MailTrap.io

Перейдите на https://mailtrap.io и зарегистрируйтесь там. После успешной регистрации выберите laravel, и вы увидите такой экран.

Скопируйте выделенный раздел в свой файл .env, там уже установлен mailtrap с пустыми значениями.

Тестирование почты

В web.php определите маршрут для запуска класса почтовой программы.

Route::get('mail-with-attachment', function (){
\Illuminate\Support\Facades\Mail::queue(new \App\Mail\SendMailWithAttachment());
}) ;

Теперь откройте терминалы и выполните следующие команды в каждом терминале.

Первый терминал: обслуживание php artisan

Второй терминал: redis-server( загрузить сервер redis отсюда)

Третий терминал: очередь php artisan:work

Наконец, перейдите на http://localhost:8000/mail-with-attachment и проверьте mailtrap.io.

Ура, Мы получили письмо на mailtrap.io с вложением.

Итак, друзья, это все об отправке почты с вложением с помощью laravel и mailtrap.io.

Первоначально опубликовано на https://decodeweb.in 7 января 2020 г.