How To Send Email In Laravel 9 Using Mailtrap

Websolutionstuff | Jul-27-2022 | Categories : Laravel

In this article, we will explore the process of sending emails in Laravel 9 using Mailtrap. We will delve into how Laravel 9 and Laravel 10 can be employed to send emails with the assistance of Mailtrap, a valuable service designed for secure email testing in development and staging environments.

Mailtrap acts as a virtual inbox, capturing your emails before they reach real users. This allows you to thoroughly test and fine-tune your email campaigns, ensuring their effectiveness and correctness.

Let's proceed to learn how to send emails through Mailtrap in Laravel 8, Laravel 9 and Laravel 10, leveraging this powerful tool to optimize your email functionality.

Step 1: Create a Mailtrap Account

Step 2: Setup .env file Configuration

Step 3: Create Mailable Class

Step 4: Create Blade File

Step 5: Create Route

 

Step 1: Create a Mailtrap Account

In this step, we will create a mailtrap account and create a testing inbox. So, open mailtrap.io and create an account.

After creating an account we need MAIL_USERNAME and MAIL_PASSWORD.

 

 

Step 2: Setup .env file Configuration

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

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls

 

Step 3: Create Mailable Class

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

php artisan make:mail TestMail

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

<? php

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

    use Queueable, SerializesModels;

    public $user;

    public function __construct($user){

        $this->user = $user;

    }

    public function build(){

        return $this->subject('This is Testing Mail')
                    ->view('emails.test');
    }
}

 

 

Step 4: Create Blade File

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

<!DOCTYPE html>
<html>
<head>
    <title>How To Send Email In Laravel 9 Using Mailtrap - Websolutionstuff</title>
</head>
<body>
    <h5>{{ $user['name'] }}</h5>
    <p>{{ $user['info'] }}</p>
    <p>Thank you</p>
</body>
</html> 

 

Step 5: Create Route

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

routes/web.php

Route::get('send-mail', function () {

    $user = [
        'name' => 'Websolutionstuff',
        'info' => 'This is mailstrap example in laravel 9'
    ];

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

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

});

 

Conclusion:

In conclusion, we've covered two essential topics in Laravel, focusing on version 9 and 10. In Laravel 9, we've learned how to send emails efficiently using Mailtrap, a service that enhances email testing and debugging during application development.

 


You might also like:

Recommended Post
Featured Post
How to Install Imagick PHP Extension on Ubuntu 22.04
How to Install Imagick PHP Ext...

Hey there, fellow developers! Are you looking to enhance your PHP applications with powerful image-processing capabiliti...

Read More

Mar-06-2024

Laravel 11 JSON Web Token(JWT) Authentication
Laravel 11 JSON Web Token(JWT)...

Hello, laravel web developers! In this article, we'll see how to authenticate using JWT in laravel 11. In laravel 11...

Read More

Jul-10-2024

How To Validate Phone Number Using Jquery Input Mask
How To Validate Phone Number U...

In this small tutorial, I will explain to you how to validate phone numbers using jquery input mask, Using jqu...

Read More

Jun-12-2020

How to Install PHP JSON Extension in Ubuntu 23.04
How to Install PHP JSON Extens...

Hey there! If you're working with PHP on Ubuntu 23.04 and find yourself needing JSON support, you're in the righ...

Read More

Feb-05-2024