שנאה אותו או אהב אותו; האימייל בכל מקום. הפרוטוקול להעברת האימייל הוא SMTP, וה"ראוטרים" של SMTP הם \texttt{שליחי SMTP}.\texttt{
Not a reader? Check out this tutorial’s related video.
}הגדרת שליחי SMTP משתנה ממערכת למערכת, אך אם יש לך את Office 365 כספק שירות האימייל שלך, האפשרויות שלך מוגבלות. ההגדרה יכולה להיות מורכבת ומסוכנת לשגיאות, במיוחד עבור מכשירים שאינם יכולים לתמוך ב־\texttt{TLS}.\texttt{
}\texttt{שים לב ששליחת דוא"ל דרך Office 365 אינה דורשת שליח SMTP. תוכל להגדיר את הלקוחות לשלוח דוא"ל ישירות ל-Office 365 בלעדיו, בלי להוסיף שליח SMTP שאינו דורש שינויי תצורה. כדי לדעת איך לעשות זאת, קרא את \texttt{איך לשלוח דוא"ל ישירות מ-Office 365/שליחה ישירה של לקוח SMTP (PowerShell)}.\texttt{
}\texttt{
}\texttt{
- }\texttt{מינוי Office 365. אם אין לך זאת עדיין, תוכל \texttt{להרשם למינוי ניסיון ל-Office 365 E5}.}\texttt{
- A Windows 10 computer with PowerShell v5.1
- A public static IP address. You can still create an SMTP relay in Office 365 even without this, but you might not test.
- }\texttt{
גישה לפורט 25 ב־TCP מלקוח לנקודת הקצה MX של המשרד שלך.} - A valid SSL certificate. This certificate could be a wildcard certificate (eg. *.yourdomain.com) issued by third-party certificate authorities like LetsEncrypt, Digicert, etc. Note, that you cannot use self-signed certificates or certificates issued by an internal PKI because they are not supported. (only required for TLS connections)
על מנת להגדיר רלה SMTP, עליך תחילה ליצור מחבר (Connector) ב-Office 365 שיכול לקבל עסקאות SMTP. המחבר הזה יקבל עסקאות רלה SMTP מהיישום או התקן.
לפני שתנסה ליצור מחבר, וודא שיש לחשבונך את ההרשאות הנדרשות ל-Exchange Online (הרשאות בזמן אמת באינטרנט). וודא גם שהחשבון שלך הוא חלק מקבוצת Organization Management.
ישנן שתי דרכים ליצור מחבר. באפשרותך להשתמש ב־מרכז הניהול ל-Exchange (Exchange Admin Center) או ב־PowerShell. שתי האפשרויות יבצעו את אותה המשימה. זה תלוי בך איזה אחת להשתמש בה. במאמר זה, נכסה שתי הדרכים. נכסה גם את יצירת מחברים שאינם ב- TLS וגם את הם שב- TLS.
יצירת מחבר שאינו ב- TLS באמצעות מרכז הניהול ל-Exchange (Exchange Admin Center)
בואו נתחיל ביצירת מחבר שאינו ב- TLS. תלמד תחילה כיצד לעשות זאת דרך מרכז הניהול ל-Exchange (Exchange Admin Center). ניתן להגדיר הרבה הגדרות SMTP של Office 365 במרכז הניהול ל-Exchange.
לאחר התחברות, לחץ על זרימת דואר (mail flow) (1) –> מחברים (connectors) (2) –> חדש (New) (3). חלון מחבר חדש (New Connector) יופיע.

בחלון מחבר חדש (New Connector), בחר ממקור: שרת הדואר האלקטרוני של הארגון שלך (From: Your organization’s email server) (1), בחר ליעד: Office 365 (To: Office 365) (2), לחץ על הבא (Next) (3).

בחלון הבא, הזן את השם SMTP Relay (Non-TLS) או בחר בשם שלך (1), הקלד את התיאור Accept relay from on-premises SMTP Server (2), הסר את הסימון מ Retain internal Exchange email headers (recommended) (3) ולחץ על Next (4).

בחלון הבא, בחר על ידי אימות שכתובת ה-IP של שרת השולח תואמת אחת מן הכתובות ששייכות לארגון שלך (1), ולחץ על Add (2).

בחלון הקופץ החדש, הקלד את כתובת ה-IP הציבורית שלך (1), ואז לחץ על OK (2). זה צריך להחזיר אותך לחלון הקודם.

וודא שכתובת ה-IP נוספה לרשימה (1), ולחץ על Next (2).

אז תראה את תקציר השינויים שעליך ליישם. עבוד ראשית על השינויים הדרושים. אם אין כלום, תוכל ללחוץ על Save.
חזור ל-Exchange Admin Center, כעת תוכל לוודא שהמחבר החדש נוצר.

כעת עליך להיות עם מחבר שאינו-TLS שנוצר.
צור מחבר-TLS באמצעות Exchange Admin Center
יצירת מחבר-TLS דומה ליצירת מחבר שאינו-TLS. כמו שיצרת מחבר שאינו-TLS, חזור לאשף New Connector והשתמש בתרחיש זרימת הדואר השייך. אני משתמש בשם מחבר של SMTP Relay (Non-TLS) אך ייתכן שיהיה שונה לך.
בחלון להגדרת Office 365 יש לזהות את האימייל משרת האימייל שלך, לבחור :
- באמתון ששם הנושא בתעודת ה-SSL ששרת השליחה משתמשת בו לאימות עם Office 365 תואם לשם הדומיין הזה (מומלץ) (1)
- אז להקליד את נושא תעודת ה-SSL (2)
- וללחוץ על הבא (3).

שוב, יוצג סיכום של השינויים הדרושים. עבוד עליהם תחילה לפני העיבוד. אם אין שינויים, ניתן ללחוץ על הכפתור שמור מיידית.
יצירת מחבר לא-פעמטריה באמצעות PowerShell
אם יצירת מחברי Office 365 דרך ממשק משתמש אינה הדרך שלך, תמיד ניתן ליצור אותם דרך PowerShell גם כן. לעשות זאת, ודא תהיה מחובר ל-Exchange Online PowerShell תחילה.
כדי ליצור את המחבר, יהיה עליך להפעיל את הפקודה New-InboundConnector
. פקודה זו דורשת מספר פרמטרים שונים ולכן אני אכין את הפרמטרים הללו מראש באמצעות PowerShell splatting.
I’ve added some comments in the code itself below but here’s a breakdown of each parameter and what it’s used for:
- Name – זהו שם המחבר.
- ConnectorType – זהו סוג המחבר. ערך זה יכול להיות
OnPremises
אוPartner
. בתרחיש הזה, הסוג המתאים הואOnPremises
. - SenderDomains – זה יכול להיות רשימת הדומיינים שאליהם מותר לשולח. רק דומיינים מאומתים עבור השוכר שלך הם בררת המחדל החוקית. הכוכבית (
*
) אומרת שאתה מתיר את כל הדומיינים המאומתים שלך לשולח הודעות באמצעות קונקטור זה. אם יש לך רק צורך להרשות דומיינים מסויימים של שולחים, שנה את הערך הזה למערך של הדומיינים. (לדוגמה,'domain1.com','domain2.com'
) - SenderIPAddresses – זהו כתובת ה-IP הציבורית שלך. אל תשכח לשנות זאת לפני הביצוע.
- RestrictDomainsToIPAddresses – כאשר הערך הזה מוגדר ל־
$true
, זה מציין שהקונקטור הזה יקבל רק דוא"ל מכתובות שולח הנכנסות מכתובת ה-IP הציבורית המותרת שלך.
כאשר הפעולה מתבצעת, אתה אמור לראות משהו דומה למטה.

צור קונקטור TLS באמצעות PowerShell
הניחו שאתה מחובר, הריצו את הקוד למטה כדי ליצור מחבר TLS עם PowerShell גם כן. תוכל לראות למטה שמספר הפרמטרים זהים ליצירת מחבר שאינו TLS. הפרמטרים הדרושים שונים מיצירת מחבר שאינו TLS הם:
- RequireTLS – מציין כי כל הודעה שמתקבלת על ידי מחבר זה דורשת העברת TLS
- TlsSenderCertificateName – זהו השם (או נושא) של התעודה בשימוש על ידי השולח.
בצע את הקוד לעיל ויהיה לך מחבר TLS נוצר ומוכן לקבל דוא"ל.
בדיקת מחבר השליחה של Office 365 SMTP עם PowerShell
לאחר שיצרת את המחבר, הכנס לבדיקה. הדרך הקלה ביותר לעשות זאת היא להשתמש ב-PowerShell. במקטע זה, ניצור כמה סקריפטים ב-PowerShell שיאפשרו לך לוודא בקלות שהמחבר עובד כראוי.
לפני שתתחיל בבדיקה, ודא שאתה יודע מהו כתובת ה- MX endpoint עבור התחום שלך ב- Exchange Online. אם אינך יודע איך למצוא את כתובת ה- MX endpoint שלך, התחבר ל- פורטל הניהול של Office 365. לחץ על הגדרות, בחר בתחום, לחץ על שם התחום ואז העתק את כתובת או הערך של MX Points.
בדיקת רשת SMTP לא מאובטחת (כתובת IP)
הערה: יש לבצע את הבדיקה מהמחשב שבו כתובת ה- IP הציבורית מורשת בהגדרת רשת ה- SMTP של Office 365.
השתמש בקוד PowerShell למטה לבדיקה. ודא שאתה משנה את הערכים של הפרמטרים From
, To
ו- SmtpServer
כדי להשתמש בהגדרות ה- SMTP של Office 365 שלך לפני הרצת הקוד.
To
– חייב לכלול נמען פנימי ונמען חיצוני. אל תשכח לשנות את הערכים האלה לשלך.From
– חייב להיות משונה לכתובת השולח שלך. החלק התחום של כתובת הדוא"ל חייב להיות אחד מתחומי הדוא"ל של השוכר שלך.SmtpServer
– חייב להיות משונה ל- MX endpoint של השוכר שלך ב- Office 365.
בדיקת רשת SMTP מאובטחת (תעודת SSL)
הערה: עליך לקבל את התעודה הציבורית של SSL בפורמט PFX לפני שתוכל להמשיך עם הבדיקה הזו.
מאחר והמרדף SMTP של TLS מחייב תעודה, אין באפשרותך להשתמש בפקודת ה־PowerShell Send-MailMessage
מכיוון שהיא לא מאפשרת לך לבחור תעודה מסוימת. במקום זאת, השתמש בשני עצמים של .NET בשמות System.Net.Mail.SmtpClient כדי להגדיר את פרמטרי ה־SMTP, ו־System.Net.Mail.MailMessage כדי לחבר את ההודעה.
למטה תמצא קטע קוד PowerShell שתוכל להשתמש בו כדי לבדוק את המרדף SMTP של TLS. אל תשכח לשנות את הערכים של pfxFile
, pfxPass
, From
, To
ו־SmtpServer
כדי להשתמש בהגדרות המרדף של SMTP של Office 365 שלך לפני הרצתו.
אם התקנת מחבר ה־TLS נכונה, הנמענים שהוגדרו דרך השיטה Add()
אמורים לקבל את האימייל הבדיקה.
אימות של מרדף ה־SMTP באמצעות כותרת ההודעה
כעת יש לך מרדף SMTP פועל באמצעות שרת מקומי ומרדף SMTP של Office 365. כל הבדיקות היו מוצלחות והתקנים שלך יכולים לשלוח הודעות לנמענים פנימיים וחיצוניים כאחד. עבודה טובה!
אם אתה עדיין סבוך וצריך לוודא אם ההודעות הללו עוברות דרך תיקשורת הSMTP של Office 365, תוכל לראות את כותרות ההודעה בדואר האלקטרוני שהתקבל.
הערה: פתיחת כותרות ההודעה יכולה להשתנות בין לקוחות דואר אלקטרוני שונים. הדוגמה למטה ספציפית ל-Gmail.
פתח את הדואר האלקטרוני בממשק של Gmail, פתח את ההודעה ולחץ על שלושה נקודות אנכיות (1), אז לחץ Show original (2).

A new page will show the email message headers. Click on Copy to clipboard (1).

פתח לשונית חדשה בדפדפן ונווט אל https://testconnectivity.microsoft.com/.
עבור אל לשונית Message Analyzer (1), הדבק את הנתונים שהעתקת בתיבה (2), ולחץ Analyze headers (3).

תוצאות הניתוח יוצגו בטבלה כפי שמוצג למטה.

תראה את סדר העבודה הבא בתוך התוצאות:
- כתובת ה-IP 192.168.0.3 מציינת את המקור של המחשב.
- שרת ה- SMTP באתר הפרטי קיבל את ההודעה.
- הגנה מקוונת של Exchange (EOP) קיבלה את ההודעה.
- שרת ה-Exchange Online קיבל והופנה מחדש למטרת משלוח יוצא.
- Office 365 ל- google.com מסריק את ההודעה.
בהתאם לתוצאות הניתוח, תוכל לוודא כי ההודעה עברה דרך תיקשורת הSMTP של Office 365 ככל שנדרש.
סיכום
במאמר זה, למדת כיצד ליצור רליי SMTP של Office 365 עם ובלי TLS. למדת גם כיצד לבדוק ולאשר את פונקציונליותם באמצעות טכניקות שונות וכיצד לאמת את המסלולים של SMTP שבהם עבר ההודעה.