How To Send Email Using SendGrid In Laravel 9

Websolutionstuff | Jul-25-2022 | Categories : Laravel

In this article, we will see how to send email using SendGrid in laravel 9. Laravel provides a clean API over the popular SwiftMailer library with drivers for SMTP, PHP's mailsendmail and more. For this example, we'll be sending an email with SendGrid using the SMTP Driver. SendGrid is a cloud-based SMTP provider that allows you to send email without having to maintain email servers.

SendGrid Documentation: Send Email with Laravel & SendGrid | Twilio

So, let's see, laravel 9 send email using SendGrid, and send mail in laravel 9 using SendGrid.

Step 1: Setup .env file

In this step, we will configure the .env file.

[email protected]

You can send 100 messages per SMTP connection at a time.



Step 2: Create Mailable

Next, you need to create a Mailable class using the below command.

php artisan make:mail TestEmail

This command will create a new file under app/Mail/TestEmail.php and it's looks like this.


namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class TestEmail extends Mailable
    use Queueable, SerializesModels;

    public $data;

    public function __construct($data)
        $this->data = $data;

    public function build()
        $address = '[email protected]';
        $subject = 'This is a demo!';
        $name = 'Jane Doe';

        return $this->view('emails.test')
                    ->from($address, $name)
                    ->cc($address, $name)
                    ->bcc($address, $name)
                    ->replyTo($address, $name)
                    ->with([ 'test_message' => $this->data['message'] ]);



Step 3: Create Blade File

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

<!DOCTYPE html>
<html lang="en-US">
    <meta charset="utf-8" />
    <h2>How To Send Email Using SendGrid In Laravel 9 - Websolutionstuff</h2>
    <p>{{ $test_message }}</p>


Step 4: Sending Mail

In this step,  we will use a mailable class and send a test mail.

    use App\Mail\TestEmail;

    $data = ['message' => 'This is a test!'];

    Mail::to('[email protected]')->send(new TestEmail($data));


You might also like:

Recommended Post
Featured Post
How To Add Bootstrap 5 Modal Popup In Laravel 9
How To Add Bootstrap 5 Modal P...

In this article, we will see how to add bootstrap 5 modal popup in laravel 9. We will learn how to use the bootstrap 5 m...

Read More


How To Integrate Paypal Payment Gateway In Laravel
How To Integrate Paypal Paymen...

In this tutorial I will teach you the most important topic of how to integrate the PayPal payment gateway in larave...

Read More


Paginate Method Example in Laravel 8
Paginate Method Example in Lar...

In this post i will share you information about paginate method example in laravel 8. As we know laravel provide many...

Read More


How To Validate URL In PHP With Regex
How To Validate URL In PHP Wit...

Hello Guys, In this tutorial we will see how to validate URL in PHP with regex. also you can implement in larave...

Read More