recent
أخبار ساخنة

شرح إعداد Postfix لاستخدام Gmail كـ Mail Relay ... بالخطوات

الصفحة الرئيسية
شرح إعداد Postfix لاستخدام Gmail كـ Mail Relay ... بالخطوات



إذا كان لديك حساب Gmail فيمكنك تكوين MTA لترحيل (relay) البريد الصادر عبر Gmail.
يمنح هذا ميزة موثوقية Gmail والبنية التحتية القوية ويوفر لك وسيلة بسيطة لإرسال البريد الإلكتروني من سطر الأوامر.

سوف نستخدم هنا Postfix كـ MTA الخاص بنا.
Postfix هو وكيل نقل (transfer agent) بريد مجاني ومفتوح المصدر (open-source) ويتم صيانته بشكل نشط وآمن للغاية.

في كل خطوة سنغطي أنظمة التشغيل التالية:

Debian 9
Ubuntu 18.04 LTS
CentOS 7
OpenSUSE Leap 15.0
Arch Linux 2019.03.01
FreeBSD 12.0

سنقوم بتثبيت mailutils / mailx حتى نتمكن من إرسال بريد إلكتروني تجريبي.  سنقوم بتثبيت SASL libraries إضافية.

تتطلب جميع الأوامر التي تبدأ بـ # صلاحيات الـ root.

تثبيت البرنامج المطلوب

الخطوات

Debian و Ubuntu:

apt-get update && apt-get install postfix mailutils

عندما يُطلب منك "General type of mail configuration"  اختر Internet Site.

عندما يُطلب منك اسم البريد (Mail name) اختر اسم مضيف (hostname) لاستخدامه في رؤوس البريد (mail headers) كأساس رسائل البريد الإلكتروني الخاصة بك.

بغض النظر عما تدخله هنا سيظهر عنوان المرسل للمستلمين كعنوان Gmail الخاص بك.

قد يُطلب منك تعيين مستلم البريد الأساسي ومدير مكتب البريد (Root and postmaster mail recipient).
أدخل root أو أي مستخدم آخر يجب أن يتلقى إعلامات النظام الفرعي للبريد.

لأية مطالبات أخرى يمكنك اختيار القيم الافتراضية.

Fedora:

dnf update && dnf install postfix mailx

CentOS:

yum update && yum install postfix mailx cyrus-sasl cyrus-sasl-plain

OpenSUSE:

zypper update && zypper install postfix mailx cyrus-sasl

Arch Linux:

pacman -Sy postfix mailutils

FreeBSD:

قم بعملية Compile Postfix من مجموعة المنافذ لتضمين دعم SASL:

portsnap fetch extract update
cd /usr/ports/mail/postfix
make config

 حدد دعم SASL . يمكن أن تظل جميع الاختيارات الأخرى كما هي. ثم:

make install clean

يمكن تثبيت Mailx من الحزمة الثنائية(binary):

pkg install mailx

إعداد Gmail Authentication


قم بإنشاء أو تعديل ملف كلمة المرور الذي سيستخدمه Postfix لتأسيس مصادقة مع Gmail.

استبدل اسم المستخدم باسم مستخدم Gmail وكلمة المرور بكلمة مرور Gmail.
إذا كنت تستخدم اسم نطاق تطبيقات Gmail مخصصًا فيمكنك استبدال gmail.com بنطاق تطبيقات Google.

سيوجد ملف كلمة المرور في مجلد إعدادات Postfix.
يمكن تسمية الملف كيفما شئت لكن اسم الملف الموصى به هو sasl_passwd.

الخطوات

Debian و Ubuntu و Fedora و CentOS و OpenSUSE و Arch Linux:


توجد ملفات إعداد Postfix في المجلد / etc / postfix.
 قم بإنشاء أو تعديل ملف كلمة المرور:

nano /etc/postfix/sasl_passwd

أضف السطر:

[smtp.gmail.com]:587    username@gmail.com:password

أحفظ وأغلق الملف.

يتم تخزين كلمة مرور Gmail كنص عادي لذا لا يمكن الوصول إلى الملف إلا عن طريق الـ root:

chmod 600 /etc/postfix/sasl_passwd

FreeBSD:

توجد ملفات إعداد Postfix في المجلد / usr / local / etc / postfix.
 قم بإنشاء أو تعديل ملف كلمة المرور:

nano /usr/local/etc/postfix/sasl_passwd

أضف السطر:

[smtp.gmail.com]:587    username@gmail.com:password

أحفظ وأغلق الملف.
 اجعله متاحًا فقط عن طريق الـ root:

chmod 600 /usr/local/etc/postfix/sasl_passwd

إعدادات Postfix


هناك ستة parameters يجب إعدادها في بوستفيكس ملف إعدادات Postfix وهو main.cf وهي:

1- relayhost
يحدد مضيف الـ mail relay ورقم المنفذ.
سيتم وضع اسم المضيف بين قوسين لتحديد عدم الحاجة إلى بحث MX.

2- smtp_use_tls
 ، الذي يتيح (أو يعطل) transport layer security.

3- smtp_sasl_auth_enable
 يتيح (أو يعطل) SASL authentication.

4- smtp_sasl_security_options
سيتم إعداده إلى فارغ (empty) لضمان عدم استخدام خيارات أمان غير متوافقة مع Gmail.

5- smtp_sasl_password_maps
يحدد ملف كلمة المرور المراد استخدامه.

6- smtp_tls_CAfile
يحدد قائمة certificate authorities لاستخدامها عند التحقق من هوية الخادم.

الخطوات

Debian و Ubuntu و Arch Linux:

قم بتعديل ملف إعدادات Postfix الرئيسي:

nano /etc/postfix/main.cf

قم بإضافة أو تعديل القيم التالية:


relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

أحفظ وأغلق الملف.

Fedora, CentOS:

قم بتعديل ملف إعدادات Postfix الرئيسي:

nano /etc/postfix/main.cf

قم بإضافة أو تعديل القيم التالية:

relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt

أحفظ وأغلق الملف.

OpenSUSE:

قم بتعديل ملف إعدادات Postfix الرئيسي:

nano /etc/postfix/main.cf

قم بإضافة أو تعديل القيم التالية:

relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/ca-bundle.pem

أحفظ وأغلق الملف.

يتطلب OpenSUSE أيضًا تعديل master.cf لملف إعدادات Postfix.
 افتحه للتعديل:

nano /etc/postfix/master.cf

حدد موقع السطر الذي يقرأ:

#tlsmgr unix - - n 1000? 1 tlsmg

قم بإلغاء التعليق لذلك يقرأ:

tlsmgr unix - - n 1000? 1 tlsmg

أحفظ وأغلق الملف.

FreeBSD:

قم بتعديل ملف إعدادات Postfix الرئيسي:

nano /usr/local/etc/postfix/main.cf

قم بإضافة أو تعديل القيم التالية:

relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/mail/certs/cacert.pem

أحفظ وأغلق الملف.

معالجة ملف كلمة المرور


استخدم postmap لترجمة وتجزئة محتويات sasl_passwd.
سيتم تخزين النتائج في مجلد إعدادات Postfix في الملف sasl_passwd.db.

الخطوات

Debian و Ubuntu و Fedora و CentOS و OpenSUSE و Arch Linux:

postmap /etc/postfix/sasl_passwd

FreeBSD:

postmap /usr/local/etc/postfix/sasl_passwd

إعادة تشغيل Postfix


أعد تشغيل خدمة Postfix مع تطبيق التغييرات التي أجريتها.

الخطوات

Debian و Ubuntu و Fedora و CentOS و OpenSUSE و Arch Linux:

systemctl restart postfix.service

FreeBSD:

لبدء خدمة Postfix لهذه الجلسة (session) فقط:

service postfix onestart

لبدء Postfix تلقائيًا عند بدء النظام ، افتح /etc/rc.conf للتعديل:

nano /etc/rc.conf

أضف السطر:

postfix_enable=YES

أحفظ وأغلق الملف.
بعد ذلك :

service postfix start

لبدء Postfix.

6. تمكّين "Less Secure Apps" في Gmail

بشكل افتراضي يُسمح فقط بتسجيل الدخول الأكثر أمانًا مثل تسجيل الدخول إلى Gmail على الويب لحساب Gmail الخاص بك.
للسماح بطلبات الترحيل (relay) قم بتسجيل الدخول إلى حساب Gmail الخاص بك وتشغيل السماح بالتطبيقات الأقل أمانًا (Allow less secure apps).



إرسال بريد إلكتروني تجريبي


اختبر الاعدادات الجديدة الخاص عن طريق إرسال بريد إلكتروني باستخدام الأمر mail .

mail -s "Test subject" recipient@domain.com

سيظهر لك سطر فارغ (أو CC): 
يمكنك تجاوزه بالضغط على Enter.
اكتب نص رسالتك واضغط على Enter للأسطر الجديدة.
عند الانتهاء من إنشاء البريد الإلكتروني اكتب CTRL-D لإرساله.
 لإلغاء البريد الإلكتروني اضغط على CTRL-C مرتين.

لإرسال بريد إلكتروني مكتوب مسبقًا استخدم الأمر:

mail -s "Subject Here" recipient@domain.com < textfile

textfile هو اسم الملف الذي يحتوي على النص الذي سيتم إرساله.

استكشاف الأخطاء وإصلاحها

الخطوات

Debian:

less /var/log/mail.log

Ubuntu و  Fedora و CentOS و OpenSUSE و Arch Linux:

تحقق من السجلات بحثًا عن أي أخطاء في Postfix:

journalctl

FreeBSD:

less /var/log/maillog

إذا تلقيت أخطاء المصادقة من Gmail  فتحقق من تشغيل السماح بالتطبيقات الأقل أمانًا في إعدادات حساب Gmail كما هو مشروح سابقاً.

تحقق من وجود ملف كلمة المرور sasl_passwd وأن محتوياته منسقة بشكل صحيح ، كما هو مشروح سابقاً.

إذا أجريت أي تغييرات على ملف كلمة المرور فتأكد من تكرار خطوات تجزئة ملف كلمة المرور الجديد وإعادة تشغيل Postfix.

If you see any TLS errors, double check the configuration in main.cf as specified in Step 3. If you make any configuration changes, restart Postfix as specified in Step 5.
إذا رأيت أي أخطاء في TLS ، فتحقق جيدًا من الإعدادات في main.cf.
إذا أجريت أي تغييرات في فأعد تشغيل Postfix.
google-playkhamsatmostaqltradent