استخدم خادم Gmail SMTP

استخدم خادم Gmail SMTP

القضية

مرحبا،

حاولت إرسال رسائل البريد الإلكتروني مع وظيفة mail () في php.ini مثل هذا:

[وظيفة البريد]

. ل Win32 فقط.

. //php.net/smtp

SMTP smtp.topnet.tn = / * (هذا هو عنوان خادم SMTP الخاص بـ ISP)

. //php.net/smtp-port

smtp_port = 25

لكن وظيفة mail () تنشئ الخطأ التالي: تحذير: mail () [function.mail]: استجابة خادم SMTP: 451

يعني أن: 451 - تم إحباط الأمر بسبب خطأ في الخادم.

لذلك أود أن أعرف كيفية استخدام خادم SMTP gmail إذا كان ذلك ممكنا.

حل

كانت رسالتي واضحة جدًا ، لقد جربت مع بروتوكول نقل البريد الإلكتروني الخاص بـ ISP (topnet) ، لكن ذلك لم ينجح لأنه يبدو لي أن وظيفة mail () لا تعمل من أجل

هذا الخادم (استجابة خادم SMTP: 451) ، لذلك أردت أن أعرف ما هو ممكن لاستخدام خادم SMTP ل gmail ، وقد اكتشفت الآن أنه من الممكن ولكن بعد بعض التكوين ، هذا هو الحل:

  • قم بتنزيل msmtp: //msmtp.sourceforge.net/download.html
  • تثبيت msmtp: اخترت استئناف تثبيت Apache لتثبيت msmtp. لذلك أنا استخرج الأرشيف الثنائي msmtp.exe الذي تم تنزيله مسبقًا ووضعه في C: \ AMP \ apache \ bin \
  • تكوين msmtp: قمت بإنشاء ملف C: \ AMP \ apache \ conf \ msmtp.conf بهذه الطريقة:

التخلف

tls ذلك

tls_starttls ذلك

tls_trust_file C: \ AMP \ apache \ conf \ ca-roots.crt

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

مضيف smtp.gmail.com

المنفذ 587

المصادقة هي

مستخدم

كلمة المرور leMotDePasseCorrespondant

من

ملف السجل C: \ AMP \ apache \ logs \ msmtp.log

مطلوب tls_trust_file للتحقق من اتصال SSL المطلوب بواسطة Gmail. Geotrust تنزيل ملف "Equifax Secure Certificate Authority (Base-64 encoded X.509)" لقد قمت بنقل / إعادة تسمية C: \ AMP \ apache \ conf \ ca-roots.crt.

  • أعد تكوين PHP عن طريق تحرير ملف php.ini. خطوط التعليق SMTP و sendmail_from ثم أضف:

sendmail_path = "C: \ AMP \ apache \ bin \ msmtp.exe - الملف C: \ AMP \ apache \ conf \ msmtp.conf-t"

  • أعد تشغيل Apache إذا كان PHP يعمل كوحدة نمطية وتقوم بإجراء الاختبار في SAPI
  • اختبار

ملحوظة

تم حلها بواسطة azerty123

المقال السابق المقالة القادمة

نصائح الأعلى