Я искал решения для SO, этот вопрос также был опубликован ранее, но не содержит ответа Я установил phpmailer с помощью этой команды:
composer require phpmailer/phpmailer
затем
php artisan serve
Я также выполнил следующие команды:
composer install
composer update
Теперь, когда я использую require 'vendor/autoload.php';
в моем коде есть ошибка:
App \ Http \ Controllers \ Auth \ ForgotPasswordController :: sendResetLinkEmail (): сбой при открытии необходим 'vendor / autoload. php' (include_path = ' D: \ Xampp \ php \ PEAR ')
Я просто пытаюсь реализовать phpmailer для отправки почты, если пользователь хочет сбросить пароль. Если потребуется какая-либо другая информация, я буду рад предоставить. Любые решения, предложения будут высоко оценены.
Вот код:
<?php
namespace App\Http\Controllers\Auth;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\User;
use Carbon\Carbon;
class ForgotPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset emails and
| includes a trait which assists in sending these notifications from
| your application to your users. Feel free to explore this trait.
|
*/
use SendsPasswordResetEmails;
public function sendResetLinkEmail(Request $request){
$mail = $request->input('email');
$x = User::where('email',$mail)->count();
//return $x;
if($x){ // User Exist
$user = User::where('email',$mail)->get();
DB::table('password_resets')->insert(['email' => $mail, 'created_at' => Carbon::now(),'token' => str_random(60)]);
//fetching token
$tokenData = DB::table('password_resets')->orderBy('created_at', 'desc')->limit(1)->get();
foreach ($tokenData as $key) {
$token = $key->token; //$token contains the token
}
//Mail code starts
$baseurl = '/password/reset/' . $token . '?email=' . urlencode($mail);
$receiver_mail = $mail;
require 'vendor/autoload.php'; // load Composer's autoloader
$mail = new PHPMailer(true); // Passing `true` enables exceptions
//Mail sending code here
}
}
}
Вот структура каталогов: