Laravel - Class "App\Http\Controllers\Mail" not found - Solved

By Hardik Savani April 16, 2024 Category : Laravel

In this example, you will learn laravel mail class not found. you will learn Laravel Class "App\Http\Controllers\Mail" not found. Here you will learn laravel mail password class not found. if you want to see example of laravel mail not found then you are a right place. Alright, let’s dive into the steps.

You can solve 'Class "App\Http\Controllers\Mail" not found' issue in laravel 6, laravel 7, laravel 8, laravel 9, laravel 10 and laravel 11 version.

A few days ago I was working on my laravel app and I simply sending email using Mail facade. When I run the project then I found 'Class "App\Http\Controllers\Mail" not found' error. you can see bellow screenshot as well.

Issue:

After some research, I found that If you are using the "Mail" class in Controller, Middleware, or blade file then you must have used facade on top.

so let's see bellow solution and example code here:

Solution:

You must need to add "use Illuminate\Support\Facades\Mail;" on top of controller, middleware, command, event or blade files. Let's see bellow:

use Illuminate\Support\Facades\Mail;

Example:

You can see controller file code, how to use it.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Models\Order;

use App\Mail\OrderShipped;

use Illuminate\Support\Facades\Mail;

class UserController extends Controller

{

/**

* Display a listing of the resource.

*

* @return \Illuminate\Http\Response

*/

public function index(Request $request)

{

$order = Order::findOrFail($request->order_id);

Mail::to($request->user())->send(new OrderShipped($order));

return view('users');

}

}

I hope it can help you...

Tags :
Shares