اعدادات ال mail funcation
السلام عليكم ورحمة الله وبركاته
بالبدايه شاكره تعاونكم واسف على ازعاجكم بكثرة الاسئله
جربت اكواد كثيره لارسال ايميل الى ايميل شخص اخر لكن عندي مشكلة في mail funcation ماترسل ولايطلع خطا منشان اعرف وين ف قريت يقول من عن طريق php.ini تغيرين الاعدادات بس ماعرفت وش اعدل علما ان جهازي ماك؟؟
فكرتي للتوضيح :ابغى موظف يرسل للموظف اخر ايميل عن طريق الموقع ؟؟
واحتاجها ضروري ف راح ارفق لكم صوره من ini.php
شاكره لكم وجزاكم الله خير
ساعد بالإجابة
"إن في قضاء حوائج الناس لذة لا يَعرفها إلا من جربها، فافعل الخير مهما استصغرته فإنك لا تدري أي حسنة تدخلك الجنة."
الإجابات (5)
عشان نقدر نرسل من اجهزتنا باستخدام دالة mail لازم نعدل باعدادات Postfix لمستخدمي mac و linux ونتاكد ان Postfix شغال بدون مشاكل بعدها نعدل php.ini ونحط مسار Postfix داخل sendmail_path ونشيل ; الي قبلها عشان تصير فعاله لما نعيد تشغيل السيرفر المحلي
راح احاول احلها عندي بجهازي وان ضبطت بدون مشاكل شاركتك الحل هنا باذن الله
مثل ماقلت سابقا لازم نتأكد من إعدادات Postfix وهو المسؤل عن ارسال الرسائل من الجهاز الشخصي لمستخدمي mac و linux وانه يعمل بدون مشاكل وراح نستخدم حساب gmail وعن طريقه نقدر نرسل من الجهاز بدون مشاكل
اولا نعدل على ملف اعدادات Postfix
عن طريق Terminal نكتب
sudo vi /etc/postfix/main.cf
راح يفتح ملف الاعدادات بمحرر Vim ننزل لاخر الملف ثم نضغط على زر i في الكيبورد عشان ندخل وضع التحرير بمحرر Vim
وبعدها ننسخ ونلصق هالاعدادات
### My Special Postfix Config ### mydomain_fallback = localhost mail_owner = _postfix setgid_group = _postdrop #Gmail SMTP relayhost=smtp.gmail.com:587 # Enable SASL authentication in the Postfix SMTP client. smtp_sasl_auth_enable=yes smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd smtp_sasl_security_options=noanonymous smtp_sasl_mechanism_filter=plain # Enable Transport Layer Security (TLS), i.e. SSL. smtp_use_tls=yes smtp_tls_security_level=encrypt tls_random_source=dev:/dev/urandom
وبعدها نضغط على زر esc - هروب من الكيبورد وبعدها مباشرة نكتب :q بالكيبورد ونضغط زر الرجوع - enter عشان نقفل الملف ونحفظ التعديلات بنفس الوقت
ثم عن طريق Terminal ايضا نكتب هالامر لانشاء ملف sasl_passwd
sudo vi /etc/postfix/sasl_passwd
وظيفة هالامر انشاء ملف جديد يحتوي على بيانات gmail الخاصة فينا ونستخدمها لارسال الرسائل عن طريق Gmail SMTP
بداخل هالملف نكتب
smtp.gmail.com:587 [email protected]:your_password
نغير البريد الالكترني ونكتب البريد الخاص فينا بدل [email protected] وايضا نغير الباسورد ونكتبه مكان your_password
وبعدها نضغط على زر esc - هروب من الكيبورد وبعدها مباشرة نكتب :q بالكيبورد ونضغط زر الرجوع - enter عشان نقفل الملف ونحفظ التعديلات بنفس الوقت
ثم عن طريق Terminal ايضا نكتب
sudo postmap /etc/postfix/sasl_passwd
راح يقوم هالامر بانشاء ملف Postfix lookup table خاص بملف sasl_passwd الي حفظنا فيه اعدادات gmail الخاصة فينا
بعدها عن طريق Terminal نعيد تشغيل postfix بواسطة هالامر
sudo postfix reload
بعد مايعيد التشغيل نجرب ونرسل اميل تجريبي عن طريق Terminal بواسطة هالامر
date | mail -s testing [email protected]
مع مراعاة تغيير [email protected] الى بريدك الشخصي مو شرط gmail اهم شي بريد يعمل وصحيح
لمعرفة الاميلات بقائمة الانتظار عن طريق Terminal نكتب هالامر
mailq
وبعد مانتاكد ان كل شي شغال بدون مشاكل نروح لاعدادات php.ini ونبحث عن
sendmail_path =
غالبا راح تحصل قدامها فاصلة منقوطة ; نحذفها وبعد علامة = نحط مسار postfix الصحيح لاستخدامه بالارسال كالتالي
sendmail_path = "env -i /usr/sbin/sendmail -t -i"
نحفظ التعديلات ثم نعيد تشغيل السيرفر المحلي
بعدها باذن الله راح تشتغل دالة mail وراح تقدر ترسل من جهازك بدون مشاكل
12 ساعات مضت, Ali Majrashi said:مثل ماقلت سابقا لازم نتأكد من إعدادات Postfix وهو المسؤل عن ارسال الرسائل من الجهاز الشخصي لمستخدمي mac و linux وانه يعمل بدون مشاكل وراح نستخدم حساب gmail وعن طريقه نقدر نرسل من الجهاز بدون مشاكل
اولا نعدل على ملف اعدادات Postfix
عن طريق Terminal نكتب
sudo vi /etc/postfix/main.cfراح يفتح ملف الاعدادات بمحرر Vim ننزل لاخر الملف ثم نضغط على زر i في الكيبورد عشان ندخل وضع التحرير بمحرر Vim
وبعدها ننسخ ونلصق هالاعدادات
### My Special Postfix Config ### mydomain_fallback = localhost mail_owner = _postfix setgid_group = _postdrop #Gmail SMTP relayhost=smtp.gmail.com:587 # Enable SASL authentication in the Postfix SMTP client. smtp_sasl_auth_enable=yes smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd smtp_sasl_security_options=noanonymous smtp_sasl_mechanism_filter=plain # Enable Transport Layer Security (TLS), i.e. SSL. smtp_use_tls=yes smtp_tls_security_level=encrypt tls_random_source=dev:/dev/urandomوبعدها نضغط على زر esc - هروب من الكيبورد وبعدها مباشرة نكتب :q بالكيبورد ونضغط زر الرجوع - enter عشان نقفل الملف ونحفظ التعديلات بنفس الوقت
ثم عن طريق Terminal ايضا نكتب هالامر لانشاء ملف sasl_passwd
sudo vi /etc/postfix/sasl_passwdوظيفة هالامر انشاء ملف جديد يحتوي على بيانات gmail الخاصة فينا ونستخدمها لارسال الرسائل عن طريق Gmail SMTP
بداخل هالملف نكتب
smtp.gmail.com:587 [email protected]:your_passwordنغير البريد الالكترني ونكتب البريد الخاص فينا بدل [email protected] وايضا نغير الباسورد ونكتبه مكان your_password
وبعدها نضغط على زر esc - هروب من الكيبورد وبعدها مباشرة نكتب :q بالكيبورد ونضغط زر الرجوع - enter عشان نقفل الملف ونحفظ التعديلات بنفس الوقت
ثم عن طريق Terminal ايضا نكتب
sudo postmap /etc/postfix/sasl_passwdراح يقوم هالامر بانشاء ملف Postfix lookup table خاص بملف sasl_passwd الي حفظنا فيه اعدادات gmail الخاصة فينا
بعدها عن طريق Terminal نعيد تشغيل postfix بواسطة هالامر
sudo postfix reloadبعد مايعيد التشغيل نجرب ونرسل اميل تجريبي عن طريق Terminal بواسطة هالامر
date | mail -s testing [email protected]مع مراعاة تغيير [email protected] الى بريدك الشخصي مو شرط gmail اهم شي بريد يعمل وصحيح
لمعرفة الاميلات بقائمة الانتظار عن طريق Terminal نكتب هالامر
mailqوبعد مانتاكد ان كل شي شغال بدون مشاكل نروح لاعدادات php.ini ونبحث عن
sendmail_path =
غالبا راح تحصل قدامها فاصلة منقوطة ; نحذفها وبعد علامة = نحط مسار postfix الصحيح لاستخدامه بالارسال كالتالي
sendmail_path = "env -i /usr/sbin/sendmail -t -i"نحفظ التعديلات ثم نعيد تشغيل السيرفر المحلي
بعدها باذن الله راح تشتغل دالة mail وراح تقدر ترسل من جهازك بدون مشاكل
ششكرا الله يجزاك خير بس عندي مشكلة لما اسوي postfix reload يطلع لي هذا الخطا ماعرفت احله
ولسويت mailq يطلع هالخطا وقبل ضبطت بس مارسل لي ع الايميل وجربت كودي عن طريق php كذلك ماضبط وهذا الخطا اللي يطلع لي
16 ساعات مضت, aml said:
غريبة لانها شغاله عندي بدون اي مشاكل انا عندي اصدار ماك OS X 10.11.3 اخر اصدار EI Capitan ببعض النسخ مثل OS X Yosemite نحط # قدام هالسطر من الاعدادات الي فوق لما اضفناها لملف etc/postfix/main.cf
mydomain_fallback = localhost
بحيث يتجاهل هالسطر بحيث يصير كذا
#mydomain_fallback = localhost
ونضيف هالسطر مع الاعدادات الي فوق
smtp_sasl_security_options = noanonymous
ونكمل بقية الخطوات وباذن الله يشتغل
الطريقة الي فوق راح تسمح لك بارسال الرسائل عن طريق مزود خدمة مثل Gmail
فيه طريقة ثانية عن طريق الجهاز نفسه وهي ابسط ولاكن ماتنفع للرسائل الكثير مجرد رسائل بسيطة اهم شي حذف الاعدادات الي انضافت بالردود الي فوق
عكس الطريقة الي فوق
نفتح ملف
sudo vi /etc/postfix/main.cf
ونبحث عن هذه الاعدادات الثالثة ونتاكد انها نفس الشي
mydomain_fallback = localhost mail_owner = _postfix setgid_group = _postdrop
طبعا الغير موجود مثل mydomain_fallback مو مهم مايحتاج نضيفه اذا ماكان موجود بالملف
بعدها عن طريق Terminal نعيد تشغيل postfix بواسطة هالامر
sudo postfix reload
بعد مايعيد التشغيل نجرب ونرسل اميل تجريبي عن طريق Terminal بواسطة هالامر
date | mail -s testing [email protected]
مع مراعاة تغيير [email protected] الى بريدك الشخصي مو شرط gmail اهم شي بريد يعمل وصحيح
لمعرفة الاميلات بقائمة الانتظار عن طريق Terminal نكتب هالامر
mailq
وبعد مانتاكد ان كل شي شغال بدون مشاكل نروح لاعدادات php.ini ونبحث عن
sendmail_path =
غالبا راح تحصل قدامها فاصلة منقوطة ; نحذفها وبعد علامة = نحط مسار postfix الصحيح لاستخدامه بالارسال كالتالي
sendmail_path = "env -i /usr/sbin/sendmail -t -i"
نحفظ التعديلات ثم نعيد تشغيل السيرفر المحلي
بعدها باذن الله راح تشتغل دالة mail وراح تقدر ترسل من جهازك بدون مشاكل
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !