Laravel 8 Send Email Example Tutorial

step by step laravel 8 send email example

Hi Guys,

In this blog,I will learn you how to send example in laravel 8.we will show step by step laravel 8 send email example. you can easliy create laravel 8 send email example.

Laravel 8 provide several way to send email. You can also use core PHP method for send mail and you can also use some email service providers such as sendmail, smtp, mandrill, mailgun, mail, gmail etc. So you can choese any one and set configration. Laravel 8 provide Mail facade for mail send that have sevaral method for send email.In this example i going to show you how to send emails from gmail account example.

This example is very simple you can use as requirement easily. It is very simple to configration with gmail account so first open your .env file and add bellow gmail configration.

Here, I will give you full example for send email using Laravel 8 as bellow.

Step 1: .env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=dharmiktank128@gmail.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
Step 2:Create Route Next,I am ready to send mail for test so first create test route for email sending. app/Http/routes.php
<?php

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'])->name('send.mail.index');
Step 3: Controller

Here, We are add mail function in SendMailController.php file so add this way.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\User;
use Mail;

class SendMailController extends Controller
{
    public function index()
    {
      $user = User::find(1)->toArray();
      
      Mail::send('mail', $user, function($message) use ($user) {
          $message->to($user['email']);
          $message->subject('Welcome Mail');
      });

      dd('Mail Send Successfully');
    }
}
Step 3: Cretae View

At last create email template file for send mail so let's create mail.blade.php file in emials folder.

resources/views/emails/mailExample.blade.php
Hi {{ $name }}, How are you ?.

Now we are ready to run our custom validation rules example so run bellow command for quick run:

php artisan serve

Now you can open bellow URL on your browser:

http://localhost:8000/send-mail

It Will help you...