Send Multiple Files Attachment Mail Using Laravel

Hello Dev,
This tutorial will give you example of send multiple files attachment mail laravel. i would like to share with you attach multiple files to mailables. it's simple example of laravel send multiple attachment in mail. i explained simply step by step sending emails with multiple attachments.
i am going to step by step from how to create new laravel send multiple files attachment mail.
so, let's follow bellow steps:
Step 1 - Install Laravel Fresh ApplicationUse this command then download laravel project setup :
composer create-project --prefer-dist laravel/laravel blogStep 2 - Set Mail Configuration
You have to add your gmail smtp configuration, open your .env file and add your configration.
.env
MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=your_username MAIL_PASSWORD=your_password MAIL_ENCRYPTION=tlsStep 3 - Create Mailable Class with Markdown
php artisan make:mail SendEmail --markdown=emails.mail
app/Mail/SendEmail.php
<?php namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; class SendEmail extends Mailable { use Queueable, SerializesModels; public $maildata; /** * Create a new message instance. * * @return void */ public function __construct($maildata) { $this->maildata = $maildata; } /** * Build the message. * * @return $this */ public function build() { $email = $this->markdown('emails.mail')->with('maildata', $this->maildata); $attachments = [ // first attachment public_path('\images\img1.jpg'), // second attachment public_path('\images\img2.jpg'), // third attachment public_path('\images\img3.jpg'), ]; // $attachments is an array with file paths of attachments foreach ($attachments as $filePath) { $email->attach($filePath); } return $email; } }Step 4 - Add Route
routes/web.php
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\MailController; Route::get('send-mail', [MailController::class, 'sendMail']);Step 5 - Create Controller
php artisan make:controller MailController
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Mail\SendEmail; use Mail; class MailController extends Controller { /** * Show the application dashboard. * * @return \Illuminate\Contracts\Support\Renderable */ public function sendMail() { $email = 'xyz@gmail.com'; $maildata = [ 'title' => 'Laravel Mail Attach Multiple Files', ]; Mail::to($email)->send(new SendEmail($maildata)); dd("Mail has been sent successfully"); } }Step 6 - Add View File
resources/views/emails/sendMail.blade.php
@component('mail::message') # {{ $maildata['title'] }} Hello Dev. Thanks, {{ config('app.name') }} @endcomponent
You can run your project by using following command:
php artisan serve
Now open this url:
http://localhost:8000/send-mail
It will help you...
Output:

Divyang Vadodariya
My name is Divyang Vadodariya. I'm a full-stack developer, entrepreneur and owner of RvSolutionStuff. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Javascript, JQuery, Laravel, Codeigniter, VueJS, AngularJS and Bootstrap ,etc from the early stage.

We are Recommending you
- How To Use PHP Form Validation Example
- PHP | parse_url() Function Example
- How To Add Days Date In Python?
- How To Search First Name And Last Name In Laravel Query?
- Laravel Connect Remote Database Using Ssh Tunnel Example
- How To Collection filter() Method In Laravel8 ?
- Pass PHP Variables By Reference Example
- How To Collection filter() Method In Laravel8?
- Solved - Laravel Where Not Equal Null Value Has Issue
- Send Multiple Files Attachment Mail Using Laravel
Copyright © 2023 www.RVSolutionStuff.com • All Rights Reserved