إعداد إعادة توجيه SMTP لـ IIS لتسليم البريد الإلكتروني لـ Office 365

مايكروسوفت IIS يمكن أن يؤدي دور SMTP بشكل جيد جدا ولكن يتطلب الكثير من الخطوات للإعداد. محظوظ لك، لقد قمت بإعداد خادم بريد SMTP باستخدام IIS ووثقت كل الخطوات!

في هذا المقال، سنغطي كل الخطوات اللازمة لإعداد خادم بريد SMTP لإرسال بريد إلكتروني صادر باستخدام Office 365. من الناحية التقنية، سنستخدم هذا الخادم لإعادة توجيه البريد الإلكتروني إلى Office 365؛ يمكن أن يعمل بنفس السرعة لأي غرض عام لتوجيه البريد الإلكتروني عبر خادم بريد SMTP.

المتطلبات المسبقة

لتجهيز IIS ومتابعتي، تأكد من توفر جهاز يعمل بنظام Windows Server 2016. كما سأفترض أنك مسجل الدخول إلى الخادم كمسؤول.

تثبيت خادم SMTP في IIS

أول مهمة عليك القيام بها لإعداد توجيه SMTP باستخدام IIS هو تثبيت خادم SMTP في IIS. ستحتاج إلى تثبيت ميزة Windows SMTP Server.

باستخدام مدير الخادم

إذا كنت غير ملم بتثبيت ميزات Windows عبر مدير الخادم، تحقق من هذا المقال المسمى تثبيت أو إلغاء تثبيت الأدوار أو الخدمات الأساسية أو الميزات.

باستخدام PowerShell

يقوم تثبيت ميزة خادم SMTP بإزالة الكثير من النقر والنقر. افتح وحدة التحكم PowerShell كمسؤول وقم بتشغيل الأمر التالي:

PS51> Install-WindowsFeature -Name SMTP-Server -IncludeAllSubFeature -IncludeManagementTools -Restart

انتظر حتى انتهاء التثبيت. يجب أن ترى نتيجة مشابهة لهذه.

Installing the SMTP-Server Windows feature with PowerShell

استيراد شهادة (لـ TLS فقط)

إذا كنت ستقوم بإرسال البريد الإلكتروني عبر TLS (Office 365) ، فيجب عليك استيراد شهادة SSL في متجر الشهادات الشخصية للخادم المحلي قبل تكوين خادم SMTP IIS. يمكنك تخطي هذه الخطوة إذا كانت الـ إعادة التوجيه SMTP لـ Office 365 غير TLS.

إذا لم يكن لديك شهادة ، يمكنك الحصول على واحدة عبر PKI الداخلي (إذا كان لديك ذلك) أو شهادة عامة باستخدام خدمات مثل LetsEncrypt و Digicert ، وما إلى ذلك.

بمجرد الحصول على الشهادة ، ستحتاج إلى استيرادها إلى متجر الشهادات الشخصية للجهاز المحلي. إذا كنت غير ملم بكيفية استيراد الشهادات باستخدام MMC Certificates ، تحقق من استيراد وتصدير الشهادة – Microsoft Windows .

عند النجاح ، يجب أن تحصل على نافذة تأكيد مثل هذه. انقر فوق موافق (1) للتأكيد.

Successful certificate import

في نافذة الوحدة الرئيسية الرئيسية ، قم بتحديث الشخصي > الشهادات المجلد ويجب أن تتمكن من رؤية الشهادة المستوردة.

التحقق من صحة الشهادة

بمجرد الاستيراد، تأكد من التحقق من أن سلسلة الشهادات كاملة وأنه لا توجد أخطاء. إذا كان كل شيء على ما يرام، يجب أن تكون قادرًا على فتح الشهادة ورؤية حقل تاريخ البدء محدَّث وأن هناك مفتاح خاص مرتبط بالشهادة. يتم عرض مثال أدناه.

Validating certificate

على علامة التبويب مسار الشهادة، يجب أن ترى أيضًا حالة الشهادة مشيرًا إلى أن الشهادة سليمة كما هو موضَّح أدناه.

Certificate status stating that the certificate is OK

ضبط خادم SMTP IIS

لقد قمت بتثبيت خادم SMTP بنجاح في هذه المرحلة. ولكن قبل أن تتمكن من استخدامه، يجب تكوين إعدادات الخادم أولاً.

يعمل خادم SMTP في وضع التوافق مع IIS6 ولا يأتي مع دعم PowerShell مدمج. يعني هذا أنه ستقوم بتكوين الإعدادات يدويًا باستخدام وحدة تحكم إدارة IIS6.

انتقل إلى ابدأ -> تشغيل واكتب inetmgr6 ثم اضغط على Enter . ستفتح وحدة تحكم IIS 6.

عندما تكون الوحدة مفتوحة، انقر بزر الماوس الأيمن فوق [خادم SMTP افتراضي #1] (1)، ثم حدد الخصائص (2).

Checking SMTP Virtual Server properties

في نافذة الخصائص، تحقق من تمكين تسجيل (1)، ثم انقر فوق الخصائص (2).

Enabling logging

انتقل إلى علامة التبويب المتقدمة، و حدد جميع الخانات في القائمة (1)، ثم انقر فوق موافق (2).

Checking advanced options

عد إلى نافذة الخصائص، وانتقل إلى علامة التبويب التسليم وانقر على متقدم (1).

Clicking Advanced button on Delivery tab

في نافذة تسليم متقدم، اكتب في اسم النطاق الكامل (1) الذي ترغب في استخدامه لخادم البريد SMTP الوجهة. لا يجب أن يكون نفس FQDN للكمبيوتر نفسه. إذا كنت تقوم بتكوين خادم SMTP هذا لاستخدامه مع Office 365، في مضيف ذكي (2) حقل، قم بتحديد نقطة النهاية MX لـ Office 365 الخاصة بك. وانقر على موافق (3).

Setting smart host

إضافة عناوين IP المسموح بها في خادم IIS SMTP

الآن إذا كان لديك جهاز ترغب في اختباره، يجب أن تقوم أولاً بإضافة عنوان IP الخاص به إلى قيود الإعادة. في هذا المثال، سيتم إضافة عنوان الـ IP 192.168.0.3 إلى قيود الإعادة. ينتمي هذا العنوان إلى كمبيوتر يتواجد ضمن نفس الشبكة كخادم.

لإضافة عنوان IP المسموح به في قيود الإعادة، انتقل إلى علامة الوصول وانقر على الإعادة (1).

Relay button on Access tab

في نافذة قيود الإعادة، انقر على إضافة (1).

Adding a relay restriction

ثم اكتب في عنوان الـ IP (1) الذي ترغب في السماح به ثم انقر على موافق (2).

Restricting relay to only a single IP

عد إلى نافذة قيود الإعادة، وتحقق من أن عنوان الـ IP قد تمت إضافته إلى القائمة، ثم انقر على موافق (1) واضغط على موافق للخروج من نافذة الخصائص.

Confirming new relay restriction

تأكيد اكتشاف الشهادة من قبل خادم SMTP وتمكين تشفير TLS

إذا كان خادم الإعادة الخاص بك سيقوم بإرسال البريد الإلكتروني الصادر عبر TLS، ستحتاج إلى تأكيد أن الشهادة مرئية من قبل خادم IIS SMTP وتمكين تشفير TLS.

على علامة Access في خصائص خادم SMTP، يجب أن ترى رسالة تقول “تم العثور على شهادة TLS بتاريخ انتهاء الصلاحية: XXXXXX”. إذا كان الأمر كذلك، فأنت جاهز.

Inspecting TLS certification expiration date

ثم، انقر على علامة Delivery، انقر على Outbound Security (1)، قم بفحص TLS encryption (2)، انقر على OK (3).

Setting TLS encryption on outbound email

وهكذا تنتهي خطوات تكوين خادم IIS SMTP.

قم بفحص خادم IIS SMTP Mail Relay

في هذه المرحلة، يجب أن يكون خادم SMTP الخاص بك مكونًا وجاهزًا لبدء إعادة توجيه البريد. الخطوة التالية هي اختباره. يجب عليك الآن اختبار إرسال البريد الإلكتروني من خلال إعادة التوجيه SMTP للتحقق مما إذا كان خادم SMTP الواصل يتلقى الرسالة.

اختبار باستخدام دليل الالتقاط

عند تثبيت خادم IIS SMTP، سيقوم بإنشاء مجلد على الخادم في C:\inetpub\mailroot\Pickup. هذا الدليل هو المكان الذي يلتقط فيه خدمة SMTP الرسائل الإلكترونية التي تم تقديمها حديثًا لمعالجتها قبل نقلها إلى Queue directory.

للاختبار باستخدام هذه الطريقة، قم بإنشاء ملف نصي عادي بمحتوى مشابه لهذا:

From: myname@yourdomain.com
To: someone@somedomain.com,someone@NotYourDomain.com
Subject: testing Pickup directory
This is the test message body.

لا تنسى تغيير القيم للحقول From و To إلى القيم الخاصة بك.

الآن احفظ هذا الملف في مكان آخر غير دليل الالتقاط كـ mail.txt.

بمجرد حفظ الملف، قم بنسخه ولصقه في مجلد C:\inetpub\mailroot\Pickup. إذا كانت العملية ناجحة، فإن الملف يجب أن يختفي بسرعة. وهذا يعني أن خدمة SMTP قد التقطته وبدأت في معالجة الرسالة.

بعد بضع ثوانٍ إلى دقيقة، يجب أن تتلقى البريد الإلكتروني المُرسل إلى عنوان البريد الإلكتروني المحدد المعرف في mail.txt.

اختبار باستخدام PowerShell

في هذا الاختبار، ستستخدم PowerShell من الكمبيوتر الذي يحمل عنوان IP الذي قمت بإضافته في إضافة عناوين IP المسموح بها في خادم IIS SMTP.

افتح نافذة تحكم PowerShell وانسخ/الصق الكود أدناه. تأكد من تحرير القيم لمعلمات From, To, و SmtpServer. واعتمادًا على كيفية تكوين الخادم الوسيط أعلاه، يمكنك استخدام أحد الأمثلة أدناه لاختبار إعداد غير TLS أو TLS.

## بناء معلمات الرسالة
$mailParams = @{
    SmtpServer                 = 'smtp.server.here'
    Port                       = 25
    #استخدام SSL = $صحيح   
    From                       = '[email protected]'
    To                         = '[email protected]', '[email protected]'
    Subject                    = ('ON-PREM SMTP Relay - ' + (Get-Date -Format g))
    Body                       = 'This is a test email using ON-PREM SMTP Relay'
    DeliveryNotificationOption = 'OnFailure', 'OnSuccess'
}
<# إرسال الرسالة #>
Send-MailMessage @mailParams

الملخص

في هذا المقال، تعلمت كيفية إعداد خادم وسيط SMTP لـ IIS لتسليم البريد الإلكتروني للمستلمين من Office 365. قمنا بتغطية إعداد خادم SMTP بدون TLS ومع TLS باستخدام مزيج من واجهة المستخدم الرسومية و PowerShell. ثم قمنا بتجربة إعدادنا باستخدام PowerShell للتأكد من سلامته.

قراءة إضافية

Source:
https://adamtheautomator.com/iis-smtp-relay/