استخدم خادم 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