When you encounter the error message “Class ‘App\Http\Controllers\Mail’ not found” in Laravel, it typically indicates an issue with the import statement or namespace declaration for the Mail class. To resolve this error, you can follow these steps:
Solution:
Make sure that the namespace App\Http\Controllers
matches the namespace used in your controller file.
use Illuminate\Support\Facades\Mail;
Example:
<?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.