بسم الله الرحمن الرحيم
حل مشكلة الارسال في السيرفرات بحيث ان البعض يواجه مشاكل اثناء ارسال الرسائل الى الابنوكس في سيرفره وراح اذكر طرق حل هذه المشكلة وان شاءلله تنحل المشكلة معاكم
الحل لكل من سيرفرات كاملة والسيرفرات VPS
اول خطوة نقوم بتحديث yum
رمز PHP:
yum update
بعد ذلك نقوم بعملية حذف للاكزايم :
رمز PHP:
rm -rf /etc/exim.conf
بعد ذلك نعمل تحديث للاكزايم :
رمز PHP:
/scripts/eximup --force
بعد ذلك امر اصلاح البريد :
رمز PHP:
/scripts/mailperm
بعد ذلك نغير اي بي الارسال
نفتح الاكزايم :
رمز PHP:
pico /etc/exim.conf
ونبدأ البحث عن
رمز PHP:
driver = smtp
نروح لعند
رمز PHP:
interface =
نحذف كامل ونستبدله بت :
رمز PHP:
remote_smtp:
driver = smtp
interface = 223.22.33.66
مع تغير الا ي بي 223.22.33.66 الى اي بي السيرفر ويفضل اختيار اي بي غير الاساسي
بعد الانتهاء نقوم بحفظ الملف ctrl+x
آخر شي ريستارت للاكزيم
رمز PHP:
service exim restart
بعد ذلك اعادة بناء RPM
رمز PHP:
rm -f /var/lib/rpm/__*
chattr -R -i /var/lib/rpm
rpm --rebuilddb
بعد ذلك نروح نضيف SPF لحل مشكلة الارسال بالسيرفر :
هذا تعريف بسيط ل SenderID و SPF Record قبل الدخول في حل المشكلة :
Sender ID بروتوكول يقوم بمساعدة في تحديد المرسل الأصلي و التحقق من مصداقية النطاق لتجنب رفض الرسالة وبالتالي وضع النطاق في القائمة السوداء هذا في حالة اذا كان Sender Id يختلف عن الأصلي المسجل في سجلات الهوتمايل ، ياهو ، جمايل ... و SPF يساعد في التحقق من SenderID الأصلي وضمان أن لا أحد يرسل باسم نفس النطاق في مزود آخر وتحت Sender ID غير مدرج في السجلات لهذا النطاق . ولا شك أن اغلب الي حجزو سيرفرات جديدة يعانون من مشكلة الإرسال وذلك لان ال Sender ID المسجل في سجلات الهوتمايل يختلف عن الأصلي في حالة تغيير السيرفر أو أنه غير مسجل اصلا أي هو يحتاج إلى تسجيل SenderID جديد في حالة حجز نطاق جديد .
في هذه الحالة يكفي تعريف النطاق ب SPF Record مضبوط لمساعدة في تسجيل وادراج Sender ID حديث لهذا الدومين لتجنب رفض الرسائل المرسلة منه واعتبارها غير قانونية .
الشرح :
هذا برنامج يساعد في تحديث جميع مواقع السيرفر واضافة SPF Record بسيط وعام :
رمز PHP:
wget http://www.3bkarino.com/prog/spf.sh
لتشغيل السكربت :
رمز PHP:
sh spf.sh
بعد ذلك ندخل الى لوحة التحكم WHM :
Main >> DNS Functions >> Edit Zone Templates
ونقوم باضافة SPF template في كل من
standard template
simple
نفتح الملفين ونضيف في اخر السطر :
رمز PHP:
%domain%. IN TXT "v=spf1 a mx ~all"
بعد ذلك نروح للدعم الفني لعمل تبليغ بالعملية :
https://support.msn.com/eform.aspx?p...ail&ct=eformts
اكتب باستعراض الامر التالي :
رمز PHP:
cat /root/domain.txt
رمز PHP:
cat /root/spf.txt
وانسخ المحتوى الى المكان المناسب كما في الصورة التالية :
بعد ذلك ادخل للموقع التالي :
https://support.msn.com/eform.aspx?p...rpp&ct=eformts
وهذا شرح لطريقة وضع البيانات :
ثم تضغط على الزر Submit
سوف تصلك رسالة منهم تطلب منك تخبر الداتا سنتر ISP أو مزود الأنترنت الخاص بالسيرفر بأن يرسل رسالة يكون عنوانها هو رقم التذكرة اللي فتحت معهم الى البريد التالي
JMRP
css.one.microsoft.com.
انسخ الرسالة اللي وصلتك منهم وارسلها للداتا سنتر تبعك في تذكرة خاصة وهي ستقوم بانهاء الإجراء .
وألف مبروك الإرسال الى الهوتمايل
ممكن تجيك رسالة من الهوتمايل تطلب الجواب على بعض الإستفسارات في حال عدم وضوح البيانات المرفقة في رسالة الإشتراك في JMRPP وهذا هو الجواب مع تغيير ما يلزم :
What are the IP addresses of your outbound mail servers (as seen by the receiving server)?
اكتب هنا ايبي السيرفر الأول
What domain are you sending from?
اكتب هنا الدومين الرئيسي للسيرفر وياريت يكون موجه الى السيرفر
Is your server a dedicated or shared server?
اكتب dedicated
What ISP, operating system, mail transport software, and/or mailing list management software are you using?
اسم الداتا سنتر أو رابط الداتا سنتر - exim - centos مثال :
softlayer.com / Centos 5 32bit/ Exim
How are "bounce messages" (non-delivery notices) handled by your system?
أكتب اي رقم مثلا 500
How frequent are your mailings? What are the volumes of these mailings?
أكتب 200
What are some of the accounts on Microsoft's systems that you are attempting to send to?
اكتب بعض الحسابات في الهوتمايل التي حاولت ترسل لها ولم تستقبل الرسائل من السيرفر
Do your SMTP logs show any failed transactions when attempting to send to addresses at MSN, MSN Hotmail or other MSN Services? If so, please include them inline in your response.
I have email sent with success without any failed transactions but in hotmail I don't receive any email come from my server
Can you telnet to port 25 of mx1.hotmail.com from your mail server(s)?
نفذ هذا الامر في الشيل وأعطيهم النتيجة :
25 telnet mx1.hotmail.com
Can you traceroute to 216.32.183.201 from your mail server(s)?
نفذ هذا الامر في الشيل وأعطيهم النتيجة :
traceroute 216.32.183.201
Please include samples of a few of the messages you are sending,
with complete headers (as seen by your recipients.)
I send email from different mailing with complete headers
In what manner(s) are recipients added to your mailing list(s)?
members registration
Provide the URL of your web site.
اكتب هنا رابط الموقع اللي يتسجل منه الأعضاء
Provide the URL of your Privacy Policy.
اعطيهم رابط التسجيل الي من خلاله موجود الموافقة على الشروط
Provide the URL at which users opt-in to receive your mailings.
رابط الموقع ورابط التسجيل
Provide the URL at which users may choose to permanently
unsubscribe from your mailing list.
اكتب لهم هنا رابط لوحة تحكم العضو التي من خلالها يقدر يلغي الإشتراك في القائمة البريدية أو المنتدى أو يمكن يمنع استقبال الرسائل منك
Are you currently a Return Path client? Are you Sender Score Certified?
no
Do you publish Sender Policy Framework (SPF)/Sender ID records for your IP?
yes
Do you use separate IPs for your transactional vs. promotional/subscription marketing communications?
yes
Are you in the Junk Mail Reporting Partner Program?
yes
Do you use Smart Network Data Services?
no
نرجع تانى للشل
بعد ذلك نقوم بأعطاء تصريح التالي لبعض الملفات في السيرفر :
رمز PHP:
cd /bin
chmod 755 basename
chmod 755 bash
chmod 755 cat
chmod 755 chmod
chmod 755 domainname
chmod 755 more
chmod 755 netstat
chmod 755 passwd
chmod 755 sh
chmod 755 su
chmod 755 touch
chmod 755 kill
chmod 755 ls
chmod 755 vi
بعد ذلك نفذ الامر :
رمز PHP:
/scripts/fixrelayd
طبق الامر مرتين ليظهر معاك النتيجة :
رمز PHP:
root
server [~]# /scripts/fixrelayd
Warn: could not add entry to syslog.conf
Shutting down kernel logger: [ OK ]
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
Starting kernel logger: [ OK ]
بعد ذلك نذهب الى
Main >> DNS Functions >> Edit DNS Zone
ندخل على Dns Zone Editor
ونختار الدومين الي فيه المشكلة وفي اخر شيء راح تلقى
Always accept mail locally even if the primary mx does not point to this server. (Domain owned by xxx )
ضع علامة صح عليه وسوي حفظ
ونروح من لوحة التحكم WHM
Main >> Server Configuration >> Tweak Settings
كل التعديلات راح تكون في خانة Mail
رمز PHP:
Default catch-all/default address behavior for new accounts. "fail" is usually the best choice if you are getting mail attacks.
نختار : blackhole
ضع علامة صح على الخيارت التالية :
رمز PHP:
Silently Discard all FormMail-clone requests with a bcc: header in the subject line
رمز PHP:
Track the origin of messages sent though the mail server by adding the X-Source headers (exim 4.34+ required
رمز PHP:
Prevent the user "nobody" from sending out mail to remote addresses (PHP and CGI scripts generally run as nobody if you are not using PHPSuexec and Suexec respectively.)
رمز PHP:
Include a list of Pop before SMTP senders in the X-PopBeforeSMTP header when relaying mail. (exim 4.34-30+ required)
رمز PHP:
Automatically setup /etc/localdomains, /etc/remotedomains, /etc/secondarymx based on where the mx entry is pointed.
رمز PHP:
RoundCube Webmail
بقية الخيارات في Mail شيل علامة الصح عنها
ونزل الى الاخير ونسوي حفظ
بعد ذلك نذهب للموقع :
The Spamhaus Project - PBL - The Policy Block List
ونروح لـ lookup ip
نروح نضغط علي PBL
نضغط على Remove ip addree
تروح تملئ البيانات اول فراغ ضع الاي بي الي تريد تحذف من الحظر والفراغ الثاني ضع ايميلك والفراغ الثالث اختار الدولة واكمل البيانات وسوي submit
راح توصلك رسالة على بريدك
اضعط على الرابط وهم اعطوك كود كما في الشرح 20601 وبعد ذلك اضغط Finish
بعد ذلك انتظر 30 دقيقة او 24 ساعة وراح تلقى ان الحظر التغى على سيرفرك :
لتجربة الارسالة في السيرفر اكتب الامر التالي في الشيل :
رمز PHP:
echo "very good" | mail -s "test" yourmail
hotmail.com
مع تغير البريد الخاص بك
اتمنى تكون استفدت من الدرس الهام
حل مشكلة الارسال في السيرفرات بحيث ان البعض يواجه مشاكل اثناء ارسال الرسائل الى الابنوكس في سيرفره وراح اذكر طرق حل هذه المشكلة وان شاءلله تنحل المشكلة معاكم
الحل لكل من سيرفرات كاملة والسيرفرات VPS
اول خطوة نقوم بتحديث yum
رمز PHP:
yum update
بعد ذلك نقوم بعملية حذف للاكزايم :
رمز PHP:
rm -rf /etc/exim.conf
بعد ذلك نعمل تحديث للاكزايم :
رمز PHP:
/scripts/eximup --force
بعد ذلك امر اصلاح البريد :
رمز PHP:
/scripts/mailperm
بعد ذلك نغير اي بي الارسال
نفتح الاكزايم :
رمز PHP:
pico /etc/exim.conf
ونبدأ البحث عن
رمز PHP:
driver = smtp
نروح لعند
رمز PHP:
interface =
نحذف كامل ونستبدله بت :
رمز PHP:
remote_smtp:
driver = smtp
interface = 223.22.33.66
مع تغير الا ي بي 223.22.33.66 الى اي بي السيرفر ويفضل اختيار اي بي غير الاساسي
بعد الانتهاء نقوم بحفظ الملف ctrl+x
آخر شي ريستارت للاكزيم
رمز PHP:
service exim restart
بعد ذلك اعادة بناء RPM
رمز PHP:
rm -f /var/lib/rpm/__*
chattr -R -i /var/lib/rpm
rpm --rebuilddb
بعد ذلك نروح نضيف SPF لحل مشكلة الارسال بالسيرفر :
هذا تعريف بسيط ل SenderID و SPF Record قبل الدخول في حل المشكلة :
Sender ID بروتوكول يقوم بمساعدة في تحديد المرسل الأصلي و التحقق من مصداقية النطاق لتجنب رفض الرسالة وبالتالي وضع النطاق في القائمة السوداء هذا في حالة اذا كان Sender Id يختلف عن الأصلي المسجل في سجلات الهوتمايل ، ياهو ، جمايل ... و SPF يساعد في التحقق من SenderID الأصلي وضمان أن لا أحد يرسل باسم نفس النطاق في مزود آخر وتحت Sender ID غير مدرج في السجلات لهذا النطاق . ولا شك أن اغلب الي حجزو سيرفرات جديدة يعانون من مشكلة الإرسال وذلك لان ال Sender ID المسجل في سجلات الهوتمايل يختلف عن الأصلي في حالة تغيير السيرفر أو أنه غير مسجل اصلا أي هو يحتاج إلى تسجيل SenderID جديد في حالة حجز نطاق جديد .
في هذه الحالة يكفي تعريف النطاق ب SPF Record مضبوط لمساعدة في تسجيل وادراج Sender ID حديث لهذا الدومين لتجنب رفض الرسائل المرسلة منه واعتبارها غير قانونية .
الشرح :
هذا برنامج يساعد في تحديث جميع مواقع السيرفر واضافة SPF Record بسيط وعام :
رمز PHP:
wget http://www.3bkarino.com/prog/spf.sh
لتشغيل السكربت :
رمز PHP:
sh spf.sh
بعد ذلك ندخل الى لوحة التحكم WHM :
Main >> DNS Functions >> Edit Zone Templates
ونقوم باضافة SPF template في كل من
standard template
simple
نفتح الملفين ونضيف في اخر السطر :
رمز PHP:
%domain%. IN TXT "v=spf1 a mx ~all"
بعد ذلك نروح للدعم الفني لعمل تبليغ بالعملية :
https://support.msn.com/eform.aspx?p...ail&ct=eformts
اكتب باستعراض الامر التالي :
رمز PHP:
cat /root/domain.txt
رمز PHP:
cat /root/spf.txt
وانسخ المحتوى الى المكان المناسب كما في الصورة التالية :
بعد ذلك ادخل للموقع التالي :
https://support.msn.com/eform.aspx?p...rpp&ct=eformts
وهذا شرح لطريقة وضع البيانات :
ثم تضغط على الزر Submit
سوف تصلك رسالة منهم تطلب منك تخبر الداتا سنتر ISP أو مزود الأنترنت الخاص بالسيرفر بأن يرسل رسالة يكون عنوانها هو رقم التذكرة اللي فتحت معهم الى البريد التالي
JMRP

انسخ الرسالة اللي وصلتك منهم وارسلها للداتا سنتر تبعك في تذكرة خاصة وهي ستقوم بانهاء الإجراء .
وألف مبروك الإرسال الى الهوتمايل
ممكن تجيك رسالة من الهوتمايل تطلب الجواب على بعض الإستفسارات في حال عدم وضوح البيانات المرفقة في رسالة الإشتراك في JMRPP وهذا هو الجواب مع تغيير ما يلزم :
What are the IP addresses of your outbound mail servers (as seen by the receiving server)?
اكتب هنا ايبي السيرفر الأول
What domain are you sending from?
اكتب هنا الدومين الرئيسي للسيرفر وياريت يكون موجه الى السيرفر
Is your server a dedicated or shared server?
اكتب dedicated
What ISP, operating system, mail transport software, and/or mailing list management software are you using?
اسم الداتا سنتر أو رابط الداتا سنتر - exim - centos مثال :
softlayer.com / Centos 5 32bit/ Exim
How are "bounce messages" (non-delivery notices) handled by your system?
أكتب اي رقم مثلا 500
How frequent are your mailings? What are the volumes of these mailings?
أكتب 200
What are some of the accounts on Microsoft's systems that you are attempting to send to?
اكتب بعض الحسابات في الهوتمايل التي حاولت ترسل لها ولم تستقبل الرسائل من السيرفر
Do your SMTP logs show any failed transactions when attempting to send to addresses at MSN, MSN Hotmail or other MSN Services? If so, please include them inline in your response.
I have email sent with success without any failed transactions but in hotmail I don't receive any email come from my server
Can you telnet to port 25 of mx1.hotmail.com from your mail server(s)?
نفذ هذا الامر في الشيل وأعطيهم النتيجة :
25 telnet mx1.hotmail.com
Can you traceroute to 216.32.183.201 from your mail server(s)?
نفذ هذا الامر في الشيل وأعطيهم النتيجة :
traceroute 216.32.183.201
Please include samples of a few of the messages you are sending,
with complete headers (as seen by your recipients.)
I send email from different mailing with complete headers
In what manner(s) are recipients added to your mailing list(s)?
members registration
Provide the URL of your web site.
اكتب هنا رابط الموقع اللي يتسجل منه الأعضاء
Provide the URL of your Privacy Policy.
اعطيهم رابط التسجيل الي من خلاله موجود الموافقة على الشروط
Provide the URL at which users opt-in to receive your mailings.
رابط الموقع ورابط التسجيل
Provide the URL at which users may choose to permanently
unsubscribe from your mailing list.
اكتب لهم هنا رابط لوحة تحكم العضو التي من خلالها يقدر يلغي الإشتراك في القائمة البريدية أو المنتدى أو يمكن يمنع استقبال الرسائل منك
Are you currently a Return Path client? Are you Sender Score Certified?
no
Do you publish Sender Policy Framework (SPF)/Sender ID records for your IP?
yes
Do you use separate IPs for your transactional vs. promotional/subscription marketing communications?
yes
Are you in the Junk Mail Reporting Partner Program?
yes
Do you use Smart Network Data Services?
no
نرجع تانى للشل
بعد ذلك نقوم بأعطاء تصريح التالي لبعض الملفات في السيرفر :
رمز PHP:
cd /bin
chmod 755 basename
chmod 755 bash
chmod 755 cat
chmod 755 chmod
chmod 755 domainname
chmod 755 more
chmod 755 netstat
chmod 755 passwd
chmod 755 sh
chmod 755 su
chmod 755 touch
chmod 755 kill
chmod 755 ls
chmod 755 vi
بعد ذلك نفذ الامر :
رمز PHP:
/scripts/fixrelayd
طبق الامر مرتين ليظهر معاك النتيجة :
رمز PHP:
root

Warn: could not add entry to syslog.conf
Shutting down kernel logger: [ OK ]
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
Starting kernel logger: [ OK ]
بعد ذلك نذهب الى
Main >> DNS Functions >> Edit DNS Zone
ندخل على Dns Zone Editor
ونختار الدومين الي فيه المشكلة وفي اخر شيء راح تلقى
Always accept mail locally even if the primary mx does not point to this server. (Domain owned by xxx )
ضع علامة صح عليه وسوي حفظ
ونروح من لوحة التحكم WHM
Main >> Server Configuration >> Tweak Settings
كل التعديلات راح تكون في خانة Mail
رمز PHP:
Default catch-all/default address behavior for new accounts. "fail" is usually the best choice if you are getting mail attacks.
نختار : blackhole
ضع علامة صح على الخيارت التالية :
رمز PHP:
Silently Discard all FormMail-clone requests with a bcc: header in the subject line
رمز PHP:
Track the origin of messages sent though the mail server by adding the X-Source headers (exim 4.34+ required
رمز PHP:
Prevent the user "nobody" from sending out mail to remote addresses (PHP and CGI scripts generally run as nobody if you are not using PHPSuexec and Suexec respectively.)
رمز PHP:
Include a list of Pop before SMTP senders in the X-PopBeforeSMTP header when relaying mail. (exim 4.34-30+ required)
رمز PHP:
Automatically setup /etc/localdomains, /etc/remotedomains, /etc/secondarymx based on where the mx entry is pointed.
رمز PHP:
RoundCube Webmail
بقية الخيارات في Mail شيل علامة الصح عنها
ونزل الى الاخير ونسوي حفظ
بعد ذلك نذهب للموقع :
The Spamhaus Project - PBL - The Policy Block List
ونروح لـ lookup ip
نروح نضغط علي PBL
نضغط على Remove ip addree
تروح تملئ البيانات اول فراغ ضع الاي بي الي تريد تحذف من الحظر والفراغ الثاني ضع ايميلك والفراغ الثالث اختار الدولة واكمل البيانات وسوي submit
راح توصلك رسالة على بريدك
اضعط على الرابط وهم اعطوك كود كما في الشرح 20601 وبعد ذلك اضغط Finish
بعد ذلك انتظر 30 دقيقة او 24 ساعة وراح تلقى ان الحظر التغى على سيرفرك :
لتجربة الارسالة في السيرفر اكتب الامر التالي في الشيل :
رمز PHP:
echo "very good" | mail -s "test" yourmail

مع تغير البريد الخاص بك
اتمنى تكون استفدت من الدرس الهام
الصور المصغرة المرفقة