Send Mail In Laravel Using SMTP |Laravel – 8

In this blog we will learn about how we can send mail in Laravel using SMTP, how we can configure SMTP in Laravel, I will use mailtrap SMTP to configure the Laravel application, I will put all the SMTP details in the .env file

Laravel 8 provides a mail class to send an email. you can use several drivers for sending email in Laravel 8. you can use mailtrap, SMTP, Mailgun, Postmark, Amazon SES, and Sendmail. you have to configure on the .env file what driver you want to use.

In this blog post I will give you step-by-step instructions to send mail in laravel using SMTP, so please follow each and every steps to achieve your goal.

To send email using SMTP in Laravel we will follow the below steps -:

  • Create an account on mailtrap
  • Download the Laravel Application
  • Configure our .env file
  • Create mail file
  • Create blade file
  • Add route
  • Run laravel development server

Step-1: Visit and create account

Click on this URL to create a account on mail trap.Once you logged you can see something like image below


Click on messages, when click on message something like below will be open, then on the right side you can see smtp integration, just copy the smtp details, place it in a safe place we will use it later


Step-2: Download the Laravel Application

Open your command prompt under your htdocs and run the below command

composer create-project laravel/laravel laravel-email

Step-3: Configure you .env file for database connection


Step -4: Create Mail Class

In this step, we will create mail class TestMail for email sending. Here we will write code for which view will call. So let’s run the below command.

php artisan make:mail TestMail

now go to app/Mail/ and open TestMail.php and then write the below code

namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class TestMail extends Mailable
    use Queueable, SerializesModels;
    public $details;
     * Create a new message instance.
     * @return void
    public function __construct($details)
        $this->details = $details;
     * Build the message.
     * @return $this
    public function build()
        return $this->subject('Mail from')

Step -5: Create Blade file

Now go to resources/views and create one folder mail and under the mail folder create one file TestMail.blade.php and the write below code in that file

<!DOCTYPE html>
    <h1>{{ $data['title'] }}</h1>
    <p>{{ $data['body'] }}</p>
    <p>Regards, CodeHunger</p>
    <p>Thank you</p>

Step-6: Add routes

Go to routes/web.php and add the below code

Route::get('send-mail', function () {
    $details = [
        'title' => 'Mail from',
        'body' => 'Test mail from smtp'
    \Mail::to('')->send(new \App\Mail\TestMail($data));
    dd("Email has been Sent.");

Step-7: Run the Laravel Development Server

To run the development server run the command in your command prompt.

php artisan serve

then open this link http://localhost:8000/send-mail

if you want to more about laravel mail please visit this URL

Shaiv Roy

Hy Myself shaiv roy, I am a passionate blogger and love to share ideas among people, I am having good experience with laravel, vue js, react, flutter and doing website and app development work from last 7 years.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button