How To Send Email Using Markdown Mailable Laravel 9

Websolutionstuff | Aug-05-2022 | Categories : Laravel

In this article, we will see how to send email using markdown mailable laravel 9. we will learn laravel 9 to send email using markdown mailables. Markdown mailable messages allow you to take advantage of the pre-built templates and components of mail notifications in your mailables. Since the messages are written in Markdown, Laravel is able to render beautiful, responsive HTML templates for the messages.

So, let's see, send email in laravel 9 using markdown mailables

Step 1: Install Laravel 9

In this step, we will install laravel using the composer command.

composer create-project laravel/laravel email-example



Step 2: Setup .env file Configuration

Now, we will set up mail configuration in the .env file.

[email protected]


Step 3: Create Mailable Class With Markdown

In this step, we will create a mailable class with markdown using the laravel artisan command.

php artisan make:mail MarkdownSendMail --markdown=emails.markdownDemoMail

This command will create a new file app/Mail/MarkdownSendMail.php.

<? php

namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class MarkdownSendMail extends Mailable{

    use Queueable, SerializesModels;

    public $user;

    public function __construct($user){

        $this->user = $user;


    public function build(){

        return $this->subject('This is markdown mail example')



Step 4: Create Controller

In this step, we will create a controller and send the mail.

php artisan make:controller SendMailController



namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Mail\SendMail;
use Mail;

class SendMailController extends Controller
     * Write code on Method
     * @return response()
    public function index()
        $user = [
        'name' => 'Websolutionstuff',
        'info' => ''

    \Mail::to('[email protected]')->send(new MarkdownSendMail($user));

    dd("Successfully send mail..!!");



Step 5: Create Blade File

Let's create a file under resources/views/emails/markdownDemoMail.blade.php and add this code.

# {{ $mailData['title'] }}
The body of your message.
@component('mail::button', ['url' => $mailData['info']])
Visit Our Website

{{ config('') }}



Step 6: Create Route

In this step, we will create a route for sending emails.


use Illuminate\Support\Facades\Route;
use App\Http\Controllers\SendMailController;
| Web Routes
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
Route::get('send-mail', [SendMailController::class, 'index']);


You might also like:

Recommended Post
Featured Post
Node.js MySQL Insert Record
Node.js MySQL Insert Record

In this tutorial we will see how to insert data into MySQL table using Node.js. In previous node .js article I will give...

Read More


500 Internal Server Error In Laravel 9 AJAX
500 Internal Server Error In L...

In this article, we will see 500 internal server errors in laravel 9 ajax. Also, we can see how to solve or fixed l...

Read More


Laravel 11 Create CRUD Operation with Database
Laravel 11 Create CRUD Operati...

Hello developers! In this article, we'll learn about Laravel 11 to create Creat Reas Update Delete operations w...

Read More


How To Create AJAX Pagination In Laravel 9
How To Create AJAX Pagination...

In this article, we will see how to create ajax pagination in laravel 9. Here, we will learn how to create jquery a...

Read More