هل تعلم أنه يمكنك استخدام Office 365 لإرسال البريد الإلكتروني باستخدام PowerShell؟ في هذا المقال، ستتعلم كيفية إرسال البريد الإلكتروني باستخدام Office 365 Direct Send وأمر Send-MailMessage
في PowerShell.
إذا كنت ترغب في فهم مفصل حول إرسال البريد الإلكتروني باستخدام PowerShell، تحقق من هذا البرنامج التعليمي الشامل حول Send-MailMessage.
إرسال مباشر من Office 365 مقابل إرسال العميل SMTP
قبل أن نتقدم كثيرًا في PowerShell، تعلم أنه ليس هناك طريقة واحدة فقط لإرسال البريد الإلكتروني من خلال Office 365 باستخدام PowerShell. لدى Office 365 طريقتان مدعومتان لإرسال البريد الإلكتروني. تلك الخيارات هي الإرسال المباشر و إرسال العميل SMTP أو إرسال المصادقة SMTP.
إرسال المصادقة SMTP
إرسال المصادقة SMTP هو الأسهل في الإعداد. ستختار هذا الخيار إذا كنت تخطط لإرسال رسائل البريد الإلكتروني من جهاز أو تطبيق إلى المستلمين داخل وخارج منظمتك. لا تتطلب هذه الخيارات أي إجراءات إضافية في Office 365 للسماح بذلك.
يسمح لك هذا الخيار باستخدام أي عنوان مرسل. ولكن يجب أن يكون العنوان من أحد النطاقات المقبولة التي تم التحقق منها لديك.
لاستخدام إرسال المصادقة SMTP، يجب عليك:
- وجود صندوق بريد مستخدم Office 365 (مُرخص). سيظهر عنوان البريد الإلكتروني هذا كمرسل للرسالة.
- يجب أن يتمكن PowerShell (أو عميل آخر) من حل والوصول إلى smtp.office365.com.
- يجب أن يكون منفذ TCP 587 أو 25 مفتوحًا إلى Office 365 من العميل.
الإرسال المباشر
تصعيد التعقيد قليلاً هو الخيار Direct Send. مثل SMTP Authenticated Submission, يسمح Direct Send لك باستخدام أي عنوان مرسل. أيضًا، يجب أن يكون عنوان from من أحد النطاقات المقبولة والتي تم التحقق منها لديك.
الفارق الكبير بين Direct Send و SMTP Authenticated Submission هو عدم السماح بالمستلمين الخارجيين ل Direct Send.
Direct Send لديه بعض متطلباته/توصياته الخاصة:
- ليس من الضروري أن يكون عنوان المرسل هذا صالحًا، ولكنه ضروري إذا كنت تخطط لاستقبال رسائل عدم التسليم أو الردود باستخدام هذا العنوان.
- يجب أن يكون منفتحًا منفذ TCP Port 25 من جهاز العميل إلى Office 365.
- يجب أن يكون الجهاز قادرًا على حل والوصول إلى عنوان نهاية MX الخاص بك (على سبيل المثال، yourdomain-com.mail.protection.outlook.com)
- A static public IP address. This is to update your SPF record and avoid your messages getting flagged as spam (optional but recommended)
إذا لم تعرف كيفية العثور على عنوان نهاية MX الخاص بك، إليك دورة تعليمية سريعة:
- قم بتسجيل الدخول إلى Office 365 Admin Portal.
- انقر على Setup (1), حدد Domains (2), انقر على Domain name (3), انسخ عنوان MX Points to address or value (4).

SMTP Authenticated Submission
أول طريقة لإرسال البريد الإلكتروني هي عبر إرسال العميل SMTP أو إرسال مصادق عليه SMTP. باستخدام cmdlet Send-MailMessage
في PowerShell، يمكننا توفير جميع المعلمات التي نحتاجها لإرسال البريد الإلكتروني من خلال Office 365.
أدناه مقتطف يمكنك استخدامه لإرسال البريد الإلكتروني عبر هذه الطريقة.
سيكون عليك أولاً تعريف كائن PowerShell PScredential ثم توفير جميع المعلمات التي يحتاجها Send-MailMessage
.
عند تشغيل الكود أعلاه، يجب أن تتلقى بريدًا إلكترونيًا يتم استقباله بواسطة المستلم الداخلي (yourdomain.com) والمجال الخارجي (notyourdomain.com).


إرسال مباشر (مطلوب TLS)
مشابه لـ SMTP Authenticated Submission, يمكنك استخدام تقريبًا نفس المعلمات لـ Send-MailMessage
. ومع ذلك، هذه المرة، ستكون المستلمات To
داخلية فقط.
لاحظ أيضًا أنه لم يتم الحاجة إلى PSCredential.

ملخص
يمكنك رؤية أن Office 365 توفر خيارين مختلفين لإرسال البريد الإلكتروني. في هذا المقال، استخدمنا PowerShell كمثال لتوضيح كل منهما. ولكن ليس عليك استخدام PowerShell. طالما تدعم تطبيقك أو لغة البرمجة الخاصة بك المصادقة بواسطة TLS، يمكنك استخدام أي طريقة تفضلها.
Further Reading
Source:
https://adamtheautomator.com/office-365-direct-send/