Osama Kha نشر 16 أغسطس 2023 أرسل تقرير نشر 16 أغسطس 2023 (معدل) احتاج طريقة في حالة قام المستخدم بتسجيل دخول على الموقع ان يتم التحقق عن طريق ارسال رسالة الى البريد الالكتروني gmail مع العلم ان الايميلات موجودة ضمن جدول user في قاعدة البيانات وهل تعتبر هذه الخدمة مجانية ؟ تم التعديل في 16 أغسطس 2023 بواسطة Osama Kha 1 اقتباس
0 محمد Fahmy نشر 16 أغسطس 2023 أرسل تقرير نشر 16 أغسطس 2023 لتنفيذ هذه العملية، يمكنك استخدام الكود التالي في المتحكم Controller لديك : // in a controller method $request->validate([ 'email' => 'required|email|exists:users,email', ]); ما سيحدث هو أن لارافيل سوف يقوم بالتأكد من أن الطلب request يحتوي على بيانات باسم email وأن قيمة هذه البيانات صحيحة وموجودة في جدول users في العمود email 1. في حالة وجود سجل في جدول "users" يتطابق مع البريد الإلكتروني المدخل من قبل المستخدم، يعني ذلك بأن البريد الإلكتروني صحيح. 2. في حالة عدم وجود سجل مطابق في جدول "users" للبريد الإلكتروني، فإن البريد الإلكتروني غير صحيح ويجب عرض رسالة الخطأ المناسبة للمستخدم. تلك هي الخطوات الأساسية للتحقق من صحة البريد الإلكتروني عند تسجيل الدخول. اقتباس
0 Mustafa Suleiman نشر 16 أغسطس 2023 أرسل تقرير نشر 16 أغسطس 2023 صحيح بإمكانك استخدام خدمة التحقق عن طريق البريد الإلكتروني في Laravel لإنشاء عملية تسجيل دخول أكثر أمانًا. وللقيام بذلك، ستحتاج إلى تثبيت حزمة Laravel's Illuminate\Auth\Passwords باستخدام الأمر التالي: composer require laravel/ui بمجرد تثبيت الحزمة، ستحتاج إلى إنشاء نموذج للمستخدمين. يمكنك القيام بذلك باستخدام الأمر التالي: php artisan make:model User بعد ذلك، ستحتاج إلى إضافة حقل البريد الإلكتروني إلى نموذج المستخدم عن طريق تعديل ملف User.php وإضافة السطر التالي: protected $fillable = ['name', 'email', 'password']; أخيرًا، ستحتاج إلى إنشاء ملف لمعالجة طلبات التحقق بواسطة إنشاء ملف جديد يسمى VerifyEmailController.php في الدليل app/Http/Controllers. في ملف VerifyEmailController.php، ستحتاج إلى إنشاء طريقة تسمى store، وتلك الطريقة ستكون مسؤولة عن إرسال بريد إلكتروني إلى المستخدم مع رابط التحقق. وتبدو طريقة store على النحو التالي: public function store(Request $request) { // Validate the request. $this->validate($request, [ 'email' => ['required', 'email'], ]); // Generate a verification code. $code = str_random(6); // Save the verification code to the database. \DB::table('verification_codes')->insert([ 'user_id' => auth()->user()->id, 'code' => $code, ]); // Send an email to the user with the verification link. Mail::to($request->email)->send(new VerifyEmail($code)); // Redirect the user to the verification page. return redirect()->route('verification.notice'); } بعد إنشاء ملف VerifyEmailController.php، عليك تسجيله في ملف routes.php من خلال إضافة السطر التالي: Route::post('/verify-email', 'App\Http\Controllers\VerifyEmailController@store'); الآن، يمكنك البدء في استخدام خدمة التحقق عن طريق البريد الإلكتروني، وإليك كيفية القيام بذلك: انتقل إلى صفحة تسجيل الدخول. أدخل عنوان بريدك الإلكتروني وكلمة المرور الخاصة بك. انقر فوق الزر "تسجيل الدخول". ستتلقى رسالة بريد إلكتروني تحتوي على رابط التحقق. افتح الرسالة الإلكترونية وانقر فوق الرابط. سيتم نقلك إلى صفحة التحقق. أدخل رمز التحقق الذي تلقيته في الرسالة الإلكترونية. انقر فوق الزر "تحقق". سيتم تسجيل دخولك الآن إلى حسابك. 1 اقتباس
0 Thaer Alhabbash نشر 17 أغسطس 2023 أرسل تقرير نشر 17 أغسطس 2023 تأكد من أنك قمت بإعداد بيئتك بشكل صحيح وأن لديك تكوين بريد إلكتروني في ملف .env: MAIL_MAILER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=your_email@gmail.com MAIL_PASSWORD=your_email_password MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=your_email@gmail.com MAIL_FROM_NAME="${APP_NAME}" في ملف routes/web.php، أنشئ مسارًا لإرسال رسالة التحقق: use App\Http\Controllers\VerificationController; Route::get('/send-verification-email', [VerificationController::class, 'sendVerificationEmail'])->name('verification.email'); قم بإنشاء controller باستخدام الأمر php artisan make:controller VerificationController ثم في VerificationController.php، ضع الكود التالي: use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Mail; use App\Mail\VerificationEmail; public function sendVerificationEmail() { $user = Auth::user(); $token = // قم بإنشاء رمز التحقق هنا وقم بتخزينه في جدول المستخدم // ارسال تحقق للايميل Mail::to($user->email)->send(new VerificationEmail($token)); return redirect()->back()->with('message', 'Verification email sent!'); } باستخدام الأمر التالي، قم بإنشاء Mailable لإرسال رسالة التحقق: php artisan make:mail VerificationEmail ثم في VerificationEmail.php، ضع الكود التالي: public $token; public function __construct($token) { $this->token = $token; } public function build() { return $this->view('emails.verification'); } أنشئ ملف verification.blade.php في المجلد resources/views/emails وضع فيه محتوى رسالة التحقق. أضف رابطًا أو زرًا في واجهة المستخدم للسماح للمستخدم بإرسال رسالة التحقق, أو عند الضغط على زر login يقوم بإرسال رسال التحقق اقتباس
السؤال
Osama Kha
احتاج طريقة في حالة قام المستخدم بتسجيل دخول على الموقع ان يتم التحقق عن طريق ارسال رسالة الى البريد الالكتروني gmail مع العلم ان الايميلات موجودة ضمن جدول user في قاعدة البيانات وهل تعتبر هذه الخدمة مجانية ؟
تم التعديل في بواسطة Osama Kha3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.