הגדרת IIS SMTP Relay עבור משלוח דואר אלקטרוני של Office 365

מיקרוסופט IIS יכול לשרת כתפקיד של SMTP בצורה נחמדה מאוד אך מחייב כמה שלבים להגדרה. מזל שבשבילך, הגדרתי שרת מרענן SMTP של IIS ותיעודתי את כל השלבים!

במאמר זה, נכסה את כל השלבים הנדרשים להגדרת בהצלחה שרת פרסום SMTP לשליחת דוא"ל יוצא עם Office 365. מבחינה טכנית, נשתמש בשרת מרענן זה של SMTP כדי להעביר דוא"ל ל-Office 365; הוא יכול באותה מידה לעבוד מהר עבור כל מטרת מסירת דוא"ל פרסום כללית.

דרישות מוקדמות

כדי להגדיר את IIS ולעקוב אחרי, הקפידו לוודא שיש לכם מכונת Windows Server 2016 זמינה. תניח שאתה מחובר לשרת כמנהל.

התקנת תכונת שרת SMTP של IIS

המשימה הראשונה שתצטרכו לבצע כדי להגדיר שרת מרענן SMTP של IIS היא להתקין את שרת SMTP של IIS. תצטרכו להתקין את התכונה שרת SMTP של Windows.

באמצעות מנהל השרת

אם אתה לא מכיר את התהליך להתקנת תכונות של Windows דרך מנהל השרת, בדוק מאמר זה בכותרת התקנת או הסרת תפקידים, שירותי תפקיד או תכונות.

באמצעות כוח הספירה

התקנת תכונת שרת 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. תוכל לדלג על צעד זה אם ה-Office 365 SMTP relay שלך אינו ב- TLS.

אם אין לך תעודה, תוכל לקבל אחת דרך PKI הפנימית שלך (אם יש לך כזו) או תעודה ציבורית באמצעות שירותים כמו LetsEncrypt, Digicert, וכו'

לאחר שיש לך את התעודה, יהיה עליך לייבא אותה לתחסון התעודות האישית של המכשיר המקומי. אם אין לך מושג איך לייבא תעודות באמצעות MMC Certificates, ראה ייבוא ויצוא תעודות – Microsoft Windows.

כשהייבוא הצליח, תקבל חלון אישור כזה. לחץ על אישור (1) לאישור.

Successful certificate import

חזור לחלון הראשי של המסוף, רענן את אישי > תעודות ותוכל לראות את התעודה שיובאה.

אמת את התעודה

לאחר ייבוא, הוודא ששרשרת התעודות היא שלמה ואין בעיות. אם הכל בסדר, אתה צורך לפתוח את התעודה ולוודא ששדה Valid From נוכח ויש כפתור private key המשוייך לתעודה. לדוגמה מוצגת למטה.

Validating certificate

בלשונית Certification Path, אתה גם צריך לראות Certificate status שמציין שהתעודה בסדר כמוצג למטה.

Certificate status stating that the certificate is OK

הגדר את שרת IIS SMTP

אתה התקין בהצלחה את שרת ה-SMTP בנקודה זו. אך לפני שתוכל להשתמש בו, עליך להגדיר את הגדרות השרת תחילה.

שרת ה-SMTP פועל במצב תאימות IIS6 ואין לו תמיכה מובנית ב-PowerShell. זה אומר שתצטרך להגדיר את ההגדרות ידנית באמצעות מסוף הניהול של IIS6.

עבור לתפריט Start –> Run והקלד inetmgr6 והקש Enter. זה יפתח את מסוף הניהול של IIS 6.

לאחר שהמסוף פתוח, לחץ ימנית על [SMTP Virtual Server #1] (1), ובחר Properties (2).

Checking SMTP Virtual Server properties

בחלון Properties, סמן את Enable logging (1), ואז לחץ על Properties (2).

Enabling logging

עבור ללשונית Advanced, וסמן את כל התיקים ברשימה (1), לאחר מכן לחץ על OK (2).

Checking advanced options

בחזרה לחלון Properties, עבור ללשונית Delivery ולחץ על Advanced (1).

Clicking Advanced button on Delivery tab

בחלון משלוח מתקדם, הקלד את שם הדומיין המלא ממשק (FQDN) (1) שברצונך להשתמש בו עבור שרת הדואר SMTP היעד. זה לא חייב להיות זהה ל-FQDN של המחשב עצמו. אם אתה מגדיר את שרת SMTP זה לשימוש עם Office 365, בשדה מארח חכם (2) , הגדר את נקודת הסיום של MX של ה-Office 365 שלך. ולחץ על אוקי (3).

Setting smart host

הוסף כתובות IP מורשות בשרת SMTP של IIS

עכשיו אם יש לך מכשיר שברצונך לבדוק, עליך להוסיף את כתובת ה-IP שלו להגבלות הרשת תחילה. לדוגמה, כתובת ה-IP 192.168.0.3 תתווסף להגבלות הרשת. כתובת ה-IP הזו שייכת למחשב שנמצא באותה רשת כמו השרת.

כדי להוסיף כתובת 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, עליך לאשר שהתעודה נראית על ידי שרת ה-SMTP של IIS ולהפעיל הצפנת TLS.

בלשונית ה-גישה של מאפייני שרת SMTP, עליך לראות הודעה שאומרת "תעודת TLS נמצאה עם תאריך תפוגה: XXXXXX". אם כן, אתה בדרך הנכונה.

Inspecting TLS certification expiration date

לאחר מכן, לחץ על לשונית ה-משלוח, לחץ על אבטחת יוצא (1), סמן את תיבת ה-הצפנת TLS (2), ולחץ על אישור (3).

Setting TLS encryption on outbound email

זה מסיים את שלבי הקונפיגורציה של שרת SMTP של IIS.

בדיקת שרת המשלוחים SMTP של IIS

בנקודה זו, שרת ה-SMTP שלך צריך להיות מוגדר ומוכן להתחיל להעביר מיילים. השלב הבא הוא לבדוק את זה. עליך כעת לבדוק את שליחת האימייל דרך השרת המשלח כדי לאמת שהשרת SMTP המקבל מקבל את ההודעה.

בדיקה עם ספריית הבירור

כאשר שרת ה-SMTP של IIS מותקן, הוא יצור תיקייה בשרת ב-C:\inetpub\mailroot\Pickup. תיקייה זו היא המקום בו שירות ה-SMTP מביא דואר שנשלח לעיבוד לפני העברתו לתיקיית ה-תור.

כדי לבדוק באמצעות שיטה זו, יש ליצור קובץ טקסט פשוט עם תוכן דומה לזה:

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

אל תשכח לשנות את הערכים מאותם שלך לשלך.

כעת שמור את הקובץ במקום אחר מהתיקיית הבירור כ-mail.txt.

לאחר ששמרת את הקובץ, העתק והדבק אותו לתיקיית ה-C:\inetpub\mailroot\Pickup. אם הצליח, הקובץ צריך להיעלם מהר מאוד. זה אומר ששירות ה-SMTP הביא אותו והתחיל לעבד את ההודעה.

לאחר מספר שניות עד דקה, תקבל את האימייל שנשלח לכתובת האימייל שצוינה בקובץ mail.txt.

בדיקה עם PowerShell

בבדיקה זו, תשתמש ב-PowerShell מהמחשב שבו כתובת ה-IP שלו התווספה בסעיף הוספת כתובות IP מורשות בשרת SMTP של IIS.

פתח קונסולת PowerShell והעתק/הדבק את הקוד למטה. וודא שאתה עורך את הערכים עבור הפרמטרים From, To ו־SmtpServer. בהתאם לאופן בו הגדרת את שרת הרלי מעלה, אתה יכול להשתמש באחת מהדוגמאות למטה כדי לבדוק התקנה לא מאובטחת או מאובטחת ב־TLS.

## בניית פרמטרי ההודעה
$mailParams = @{
    SmtpServer                 = 'smtp.server.here'
    Port                       = 25
    # UseSSL = $true   
    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 לא מאובטח וגם שרת SMTP מאובטח ב־TLS באמצעות תצורה של גרפית ו־PowerShell. לאחר מכן ביצענו בדיקה באמצעות PowerShell כדי לוודא שההתקנה עובדת כראוי.

קריאה נוספת

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