نظام الإشعارات (Notifications) وإرسال البريد (Mail)
1. إرسال البريد الإلكتروني (Mailable)
في Laravel، يتم تمثيل رسالة البريد الإلكتروني بكلاس يسمى Mailable. لإنشاء رسالة ترحيبية:
يمكنك تصميم شكل الإيميل داخل ملف Blade عادي واستدعائه داخل كلاس الـ Mailable، ثم إرساله بسهولة:
use App\Mail\WelcomeUser;
use Illuminate\Support\Facades\Mail;
Mail::to($user->email)->send(new WelcomeUser($user));
2. نظام الإشعارات (Notifications)
الإشعارات أكثر مرونة من البريد، فهي تستخدم لإرسال تنبيهات عبر قنوات متعددة. لإنشاء إشعار بوجود فاتورة جديدة:
داخل هذا الكلاس، يمكنك تحديد القنوات (Mail, Database, SMS) وتصميم الرسالة لكل قناة. ثم ترسلها للمستخدم كالتالي:
$user->notify(new InvoicePaid($invoice));
3. إعدادات السيرفر (SMTP)
لكي يتمكن تطبيقك من إرسال رسائل حقيقية، يجب ضبط إعدادات سيرفر البريد في ملف .env. يمكنك استخدام خدمات مثل Mailtrap أثناء التطوير، أو Amazon SES في المشاريع الحقيقية:
MAIL_MAILER=smtp
MAIL_HOST=sandbox.smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
أسئلة شائعة حول الإشعارات
طوابير العمل (Queues)
هل لاحظت بطء الموقع عند إرسال الإيميل؟ سنتعلم كيف نجعل المهام الثقيلة تعمل في الخلفية دون أن يشعر المستخدم بأي تأخير باستخدام نظام Queues.
تعلم طوابير العمل