How To Send Email In Laravel 9 Using Mailtrap

Websolutionstuff
2 min readSep 23, 2022

--

In this article, we will see how to send email in laravel 9 using mailtrap. we will learn laravel 9 to send emails using mailtrap. Mailtrap is a service for the safe testing of emails sent from the development and staging environments. Mailtrap catches your emails in a virtual inbox so that you can test and optimize your email campaigns before sending them to real users.

So, let’s see, send mail using mailtrap in laravel 9 and send mail using mailtrap in laravel

Step 1: Create a Mailtrap AccountStep 2: Setup .env file ConfigurationStep 3: Create Mailable ClassStep 4: Create Blade FileStep 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.

<? phpnamespace 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 route for sending email.

routes/web.php

Route::get('send-mail', function () {    $user = [
'name' => 'Websolutionstuff',
'info' => 'This is mailstrap example in laravel 9'
];
\Mail::to('test@example.com')->send(new \App\Mail\TestMail($user)); dd("Successfully send mail..!!");});

--

--

Websolutionstuff
Websolutionstuff

Written by Websolutionstuff

I am Laravel and PHP Developer. I have also Good Knowledge of JavaScript, jQuery, Bootstrap and REST API. Visit Website: http://websolutionstuff.com/

No responses yet