WebGee Docsمركز المساعدة
البريد الإلكتروني
ترحيل مجاني وضمان 30 يومًااعرف كيف

لماذا يفشل البريد من سكربت PHP أو تطبيقك

دالة mail() في PHP معطّلة افتراضيًا لأن البريد الذي ترسله يبدو انتحالًا. وكيف ترسل عبر SMTP بدلًا منها.

إن كان نموذج التواصل أو متجر WooCommerce أو تطبيق الويب لديك لا يستطيع إرسال البريد، فالسبب دائمًا تقريبًا دالة mail() المدمجة في PHP. ينطبق على الاستضافة المشتركة والموزِّعة واستضافة cPanel.

ودالة mail() معطّلة افتراضيًا على خوادم WebGee.

لماذا هي معطّلة

تسلّم mail() الرسالة إلى الخادم مباشرة بلا مصادقة. فلا سبيل للخادم لتأكيد أن المرسِل هو من تدّعي الرسالة أنه هو، فيختم الرسالة بعنوان النظام الخاص بالحساب — شيء مثل youruser@server.webgee.com.

بينما يكون تطبيقك مضبوطًا للإرسال من you@yourdomain.com. والنتيجة رسالة يختلف فيها مرسِل المغلّف عن عنوان From الظاهر، وهو بالضبط النمط الذي تستخدمه فلاتر السبام لتحديد الانتحال. وحتى حين يُقبَل مثل هذا البريد، فإنه يصل إلى مجلد غير المرغوب فيه.

كما لا يمكن توثيقه بـ SPF أو DKIM لنطاقك، فـ DMARC سيُفشله.

أرسل عبر SMTP بدلًا منها

يصادق SMTP بصندوق بريد حقيقي قبل الإرسال. فتصير الرسالة من ذلك العنوان فعلًا، وتجتاز SPF وDKIM، وتُسلَّم بشكل طبيعي.

تحتاج:

  1. صندوق بريد ترسل منه. أنشئه في cPanel إن لم يكن موجودًا — راجع إنشاء حسابات بريد في cPanel.
  2. إعدادات الخادم من إعدادات خادم البريد.
  3. ضبط التطبيق لاستخدامها.

استخدم المنفذ 465 مع SSL/TLS، أو 587 مع STARTTLS. واسم المستخدم هو عنوان البريد الكامل، لا الجزء الذي قبل @.

ووردبريس

ليس لووردبريس إعدادات SMTP خاصة به. ثبّت إضافة SMTP — وWP Mail SMTP وFluentSMTP كلتاهما واسعتا الاستخدام — وأدخل الإعدادات فيها. وأرسل رسالة اختبار من الإضافة قبل أن تفترض أنها تعمل.

Laravel وSymfony وأطر العمل الأخرى

اضبط ناقل البريد على smtp في إعدادات بيئتك بدل sendmail أو mail، ثم زوّده بالمضيف والمنفذ والتشفير واسم المستخدم وكلمة المرور.

تطبيقات نماذج التواصل وإدارة العملاء

لمعظمها خيار SMTP في إعداداتها. ابحث عن «outgoing mail» أو «SMTP» أو «mail transport» وحوّله بعيدًا عن PHP mail أو sendmail.

البريد المرسَل عبر SMTP يظل يُحسب على حدّك الساعي للإرسال. فإن كان تطبيقك يرسل حجمًا كبيرًا من البريد المعاملاتي، فاستخدم مرحّل SMTP خارجيًا بدلًا من ذلك، فيبقى خارج الحصة المشتركة تمامًا.

إن كنت تحتاج mail() فعلًا

يمكن تفعيلها عند الطلب، لكنك سترث مشكلات التسليم الموصوفة أعلاه. راجع تفعيل دالة mail() في PHP على حسابك.

تحقّق

  • نجاح دالة اختبار البريد في التطبيق نفسه.
  • وصول الرسالة إلى صندوق الوارد لا إلى مجلد غير المرغوب فيه.
  • ظهور نطاقك في مرسِل المغلّف في ترويسات الرسالة، لا اسم مضيف الخادم — راجع قراءة ترويسات البريد.

اقرأ أيضًا

في هذه الصفحة

استضافتك في مكان آخر؟

الاستضافة السحابية

لوحة cPanel على أقراص NVMe، مع LiteSpeed وشهادة SSL مجانية ونسخ احتياطي يومي.

اطّلع على الباقاتترحيل مجاني