Postfix هو برنامج مجاني ومفتوح المصدر شائع يعمل كوكيل نقل بريد (MTA). وتتمثل مهمة Postfix في توجيه رسائل البريد الإلكتروني وتسليمها. إلى جانب الاستخدام الكلاسيكي، يمكن أيضًا تكوين Postfix لإرسال رسائل البريد الإلكتروني بواسطة التطبيقات المحلية فقط.
يعد تطبيق Postfix هذا حيلة مفيدة لنشرها في مواقف مختلفة. على سبيل المثال، يمكن استخدامه عند إرسال إشعارات البريد الإلكتروني بانتظام، أو العمل مع مزود خدمة بريد إلكتروني تابع لجهة خارجية بحركة مرور صادرة محدودة، وما إلى ذلك. مقارنة بأي خادم SMTP كامل الميزات، يعد Postfix بديلًا أخف وزنًا يحتفظ في نفس الوقت بالوظائف الضرورية.
في هذا البرنامج التعليمي، تعرف على كيفية تثبيت وتكوين Postfix كخادم SMTP للإرسال فقط على Ubuntu.
المتطلبات الأساسية
من أجل اتباع هذا الدليل، يجب عليك تلبية المتطلبات الأساسية التالية:
-
يجب أن يكون لديك خادم Ubuntu تم تكوينه بشكل صحيح مع الوصول إلى مستخدم sudo غير جذر.
-
تحتاج أيضًا إلى اسم نطاق مسجل بالكامل. تعرف على المزيد حول أسماء النطاقات من منشور تثبيت شهادة SSL من مرجع مصدق تجاري الخاص بنا.
-
أخيرًا، ستحتاج إلى سجل DNS مع اسم النطاق الذي يشير إلى عنوان IP العام للخادم.
تثبيت Postfix
بمجرد استيفاء الشروط المسبقة، يصبح الخادم جاهزًا لنشر Postfix. أسهل طريقة لتثبيت Postfix هي تثبيت حزمة mailutils. وهي متاحة مباشرة من مستودعات Ubuntu الرسمية.
أولاً، افتح الطرفية، وقم بتحديث قاعدة بيانات حزم APT :
|
1 |
sudo apt update |

بعد ذلك، يمكنك تثبيت Postfix:
|
1 |
sudo apt install mailutils |

أثناء عملية التثبيت، ستظهر نافذة التكوين التالية. الخيار الافتراضي هو Internet Site. لتأكيد التحديد، اضغط على TAB لنقل المؤشر إلى القسم التالي. ثم اضغط على Enter:

ستطلب الخطوة التالية اسم بريد النظام (System mail name). سيكون الاسم المخصص للخادم في وقت الإنشاء. كما هو موضح في البرنامج النصي، إذا كان عنوان البريد للمضيف المحلي هو “foo@example.org”، فسيكون اسم بريد النظام هو example.org:

لاحظ أنه يمكن أيضًا تشغيل برنامج التكوين النصي في أي وقت لاحقًا باستخدام الأمر التالي:
|
1 |
sudo dpkg-reconfigure postfix |
تكوين Postfix
في هذه الخطوة، سيتم تكوين Postfix لإرسال واستقبل رسائل البريد الإلكتروني فقط من localhost. يتطلب هذا من Postfix الاستماع على واجهة loopback. إنها واجهة الشبكة الافتراضية التي يستخدمها الخادم للاتصال الداخلي. بعد ذلك، افتح ملف تكوين Postfix باستخدام محرر النصوص الذي تختاره:
|
1 |
sudo nano /etc/postfix/main.cf |
قم بتغيير قيمة inet_interface إلى loopback-only:

التوجيه الآخر الذي يجب عليك تغييره هو mydestination. وهو يحدد قائمة النطاقات التي يتم تسليمها عبر وسيط تسليم البريد local_transport. ستكون القيمة الافتراضية شيئًا كالتالي:

قم بتغيير قيمته إلى ما يلي:
|
1 |
mydestination = localhost.$mydomain, localhost, $myhostname |

في حال كان نطاقك في الواقع نطاقًا فرعيًا وتريد أن تظهر رسائل البريد الإلكتروني كما لو تم إرسالها من النطاق الرئيسي، أضف التوجيه التالي في نهاية تكوين Postfix. سيؤدي ذلك إلى إزالة النطاق الفرعي من عنوان البريد الإلكتروني:
|
1 |
masquerade_domains = <main_domain> |

لتطبيق التغييرات، أعد تشغيل Postfix:
|
1 |
sudo systemctl restart postfix |
اختبار خادم SMTP
بافتراض أن عملية التكوين تمت بنجاح، فقد حان الوقت لاختبارها. للقيام بذلك، تحقق مما إذا كان بإمكان Postfix إرسال بريد إلكتروني إلى حساب بريد إلكتروني خارجي باستخدام الأمر mail. وهو جزء من حزمة mailutils :
|
1 |
echo "Test email body" | mail -s "Subject line" <email_address> |
يجب أن تصل الرسالة إلى عنوان البريد الإلكتروني المحدد. في هذه المرحلة، تكون جميع رسائل البريد الإلكتروني المرسلة غير مشفرة. ستقوم جهات تقديم الخدمة عمومًا بتصنيف مثل هذه الرسائل كرسائل مزعجة، لذا تأكد من التحقق من قسم الرسائل المزعجة (spam) للتأكد من وصول البريد الإلكتروني.
إذا كان mail يبلغ عن خطأ أو لم يصل البريد الإلكتروني بعد فترة طويلة من الوقت، فأعد التحقق من تكوين Postfix وتأكد من تعيين اسم الخادم واسم المضيف بشكل صحيح. باستخدام هذا التكوين، ستظهر رسائل البريد الإلكتروني وكأنها مرسلة من العنوان التالي:
|
1 |
<username>@<domain> |
هنا، سيكون اسم المستخدم هو اسم مستخدم الخادم الذي قام بتشغيل mail الأمر.
توجيه بريد النظام
لقد تحققنا بنجاح من أن خادم البريد الإلكتروني مهيأ ويعمل بشكل صحيح. الآن يجب تكوينه لتوجيه البريد الإلكتروني لـ root. سيتم توجيه جميع الرسائل التي ينشئها النظام والمرسلة إلى الخادم إلى عنوان بريد إلكتروني خارجي. بالنسبة لمستلمي البريد الإلكتروني، فإن /etc/aliases يحتوي الملف على قائمة الأسماء البديلة. افتحه باستخدام محرر النصوص الذي تفضله:
|
1 |
sudo nano /etc/aliases |
بشكل افتراضي، سيبدو كالتالي:

في نهاية الملف، أضف السطر التالي:
|
1 |
root: <email_address> |

هذا يحدد أن رسائل البريد الإلكتروني المرسلة إلى root سيتم توجيهها إلى عنوان بريد إلكتروني. لتطبيق التغيير، قم بتشغيل الأمر التالي. سيؤدي ذلك إلى إعادة بناء قاعدة بيانات الأسماء البديلة التي يستخدمها mail الأمر:
|
1 |
sudo newaliases |
![]()
بعد ذلك، تحتاج إلى اختبار ما إذا كان التغيير ناجحًا. أرسل بريدًا إلكترونيًا تجريبيًا إلى root:
|
1 |
echo "Test root email body" | mail -s "Subject line" root |
يجب أن يصل البريد الإلكتروني إلى عنوان البريد الإلكتروني المحدد. لا تنسَ التحقق من مجلد الرسائل المزعجة (spam) حيث لم يتم تكوين التشفير بعد.
تمكين تشفير SMTP
إرسال رسائل البريد الإلكتروني بتنسيق غير مشفر هو خطوة محفوفة بالمخاطر. لضمان الأمان، يلزم تمكين تشفير SMTP. لتحقيق ذلك، سنطلب شهادة TLS مجانية من Let’s Encrypt لنطاقك.
بالنسبة لنظام التشغيل Ubuntu، فإن أداة Certbot هي التي تقوم بهذه المهمة. لحسن الحظ، فهي متاحة مباشرة من مستودع Ubuntu الرسمي. قم بتثبيت Certbot باستخدام الأمر التالي:
|
1 |
sudo apt install certbot |

بافتراض أن الخادم يحتوي على جدار حماية UFW مهيأ، فمن الضروري فتح المنفذ 80 حتى يتسنى إجراء التحقق من النطاق. قم بتشغيل الأمر التالي لتمكينه:
|
1 |
sudo ufw allow 80 |

الآن، قم بتشغيل Certbot لإنشاء شهادة. يوجه هذا الأمر Certbot لإصدار شهادات بمفتاح RSA بسعة 4096 بت. سيتم التحقق عبر المنفذ 80 (HTTP):
|
1 |
sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --preferred-challenges http -d <domain> |
ستكون المخرجات شيئًا كالتالي:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
حفظ تصحيح الأخطاء سجل في /var/log/letsencrypt/letsencrypt.log المكونات الإضافية المحددة: Authenticator standalone, Installer None الحصول على شهادة جديدة إجراء التحديات التاليةchallenges: http-01 تحدي لـ '<domain>' في انتظار الـ تحقق... تنظيف الـتحديات ملاحظات هامة: - تهانينا! الشهادة الخاصة بك و السلسلة قد تم حفظهما في: /etc/letsencrypt/live/<domain>/fullchain.pem ملف المفتاح الخاص بك قد تم حفظه في: /etc/letsencrypt/live/<domain>/privkey.pem الشهادة الخاصة بك سوف تنتهي صلاحيتها في 2020-07-11. للحصول على نسخة جديدة أو معدلة من هذه الشهادة في المستقبل، ببساطة قم بتشغيل , أداة ـ certbot مجددًا. لتجديد غير -تفاعلي لـ *كل* شهاداتك قم بتشغيل, ـ "certbot renew" - إذا كنت تحب Certbot, يرجى النظر في دعم عملنا عن طريق ـ: التبرع إلى ISRG / Let's Encrypt: https://letsencrypt.org/donate التبرع إلى EFF: https://eff.org/donate-le |
سيتم تخزين المفتاح في الدليل التالي:
|
1 |
/etc/letsencrypt/live/<domain> |
الآن بعد أن تم إنشاء شهادتك، افتح ملف تكوين Postfix في محرر نصوص:
|
1 |
sudo nano /etc/postfix/main.cf |
ابحث عن القسم TLS معلمات:

بعد ذلك، قم بتغيير قيمة التوجيهات smtpd_tls_cert_file و smtpd_tls_key_file:

بعد ذلك، احفظ الملف وأغلقه. لتطبيق التغييرات، أعد تشغيل Postfix:
|
1 |
sudo systemctl restart postfix |
أخيرًا، أرسل بريدًا إلكترونيًا وهميًا مجددًا إلى عنوان البريد الإلكتروني المستهدف:
|
1 |
echo "This is email body" | mail -s "Email subject line" <email> |
يجب أن يظهر البريد الإلكتروني الآن بشكل طبيعي مثل رسائل البريد الإلكتروني الأخرى. إذا قمت بالتحقق من المعلومات الفنية للبريد الإلكتروني، فسيظهر مشفرًا.
أفكار نهائية
تهانينا! لقد قمت بتكوين خادم بريد إلكتروني للإرسال فقط بنجاح، مدعومًا بـ Postfix. كما أن معاملات البريد الإلكتروني آمنة باستخدام مفتاح تشفير مناسب.
لمزيد من الطرق لتحسين نقل البريد الإلكتروني، راجع هذا البرنامج التعليمي أفضل الطرق لاستخدام خادم SMTP الخاص بـ Google.
حوسبة سعيدة!
التعليقات
لا توجد تعليقات بعد. كن أول من يعلق.