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 г.