ارسال ايميل في Laravel

(الشرح التالي يستخدم النسخة 11 من لارافيل)


سيناريو العمل المتبع هو كالتالي:

ارسال ايميل للمستخدم يتضمن اسمه وايميله عند تعبئته form من حقلين هما الاسم والايميل

في البداية ستحتاج إلى إنشاء وتعديل 5 ملفات:

الملف الأول هو api.php ويتم توليده من خلال الأمر التالي:

في النسخ السابقة من لارافيل (V10 وما قبل) هذا الملف موجود بشكل افتراضي.

php artisan install:api

الملفين الثاني والثالث هما MailNotify.php و emailTemplate.blade.php ويتم توليدهما من خلال الأمر المشترك التالي:

php artisan make:mail MailNotify --markdown=emailTemplate

MailNotify (ستجده داخل مجلد app > Mail)
emailTemplate (ستجده داخل مجلد resources > views)

أو يمكنك استخدام ملف HTML عادي بلاحقة blade.php بدل استخدام تنسيق markdown المعقد وذلك بازالة “--markdown=emailTemplate“ من الأمر, لكن ستحتاج الى الى انشاء الملف بنفسك داخل مجلد:
resources > views > emails.


الملف الرابع هو MailNotifyController.php ويتم توليده من خلال الأمر التالي:

php artisan make:controller MailNotifyController

(ستجده داخل مجلد app > Http > Controllers)


الملف الخامس هو env. وهذا الملف موجود بشكل مسبق لكن يحتاج الى بعض التعديلات

وستحتاج أيضا إلى حسابين Gmail للتجربة الأول مرسل والثاني مستقبل.

(في مرحلة الـ production الايميل المرسل سيكون ايميل الاستضافة ببيانات smtp الخاصة به)

البداية من حساب gmail المرسل, ادخل إلى إعدادات حساب جوجل ثم Security ثم 2-Step Verification قم بتفعيلها في حال لم تفعلها من قبل, ثم انزل الى اسفل الصفحة للوصول الى App passwords.

Join