اتصال Microsoft Outlook 365 با Azure OAuth

اودوو با Azure OAuth مایکروسافت برای Microsoft 365 سازگار است. برای ارسال و دریافت ایمیل‌های امن از یک دامنه سفارشی، تنها لازم است چند تنظیم را در پلتفرم Azure و در بخش بک‌اند پایگاه داده سازمان‌یار پیکربندی کنید. این پیکربندی هم با یک آدرس ایمیل شخصی و هم با آدرسی که توسط یک دامنه سفارشی ایجاد شده است، کار می‌کند.

راه‌اندازی در پورتال Microsoft Azure

ایجاد برنامه جدید

برای شروع، به پورتال Azure مایکروسافت بروید. اگر حساب Microsoft Outlook Office 365 وجود دارد، با آن وارد شوید، در غیر این صورت با حساب Microsoft شخصی وارد شوید. یک کاربر با دسترسی مدیریتی به تنظیمات Azure باید وارد شود و تنظیمات زیر را انجام دهد. سپس به بخش مدیریت Microsoft Entra ID (به‌طور رسمی Azure Active Directory) بروید.

اکنون، بر روی افزودن (+) در منوی بالایی کلیک کرده و سپس ثبت نام برنامه را انتخاب کنید. در صفحه ثبت نام برنامه، نام را به Odoo یا چیزی قابل تشخیص تغییر نام دهید. در قسمت نوع‌های حساب پشتیبانی شده، حساب‌های موجود در هر فهرست سازمانی (هر دایرکتوری Microsoft Entra ID - چندمستاجر) و حساب‌های شخصی مایکروسافت (مانند Skype، Xbox) را انتخاب کنید.

در بخش URL ریدایرکت، وب را به عنوان پلتفرم انتخاب کنید و سپس https://<web base url>/microsoft_outlook/confirm را در فیلد URL وارد کنید. web.base.url بر اساس URL مورد استفاده برای ورود به پایگاه داده ممکن است تغییر کند.

توجه

مستندات مربوط به web.base.url توضیح می‌دهد که چگونه یک URL منحصر به فرد را ثابت نگه دارید. همچنین امکان افزودن URLهای ریدایرکت مختلف در برنامه Microsoft وجود دارد.

پس از اضافه کردن URL به فیلد، برنامه را ثبت کنید تا ایجاد شود.

مجوزهای API

گام بعدی تنظیم مجوزهای API است. اودوو به مجوزهای خاص API نیاز دارد تا بتواند ایمیل‌ها را در تنظیمات Microsoft 365 بخواند (IMAP) و ارسال کند (SMTP). ابتدا روی پیوند مجوزهای API که در نوار منوی سمت چپ قرار دارد کلیک کنید. سپس روی دکمه (+) افزودن مجوز کلیک کرده و Microsoft Graph را تحت APIهای رایج مایکروسافت انتخاب کنید. سپس گزینه مجوزهای تفویض شده را انتخاب کنید.

در نوار جستجو، مجوزهای تفویض شده زیر را جستجو کنید و برای هر کدام روی افزودن مجوزها کلیک کنید:

  • SMTP.Send

  • IMAP.AccessAsUser.All

توجه

مجوز :guilabel:`User.Read به طور پیش فرض اضافه خواهد شد.

مجوزهای API مورد نیاز برای ادغام اودوو تحت Microsoft Graph فهرست شده‌اند.

تخصیص کاربران و گروه‌ها

پس از افزودن مجوزهای API، به نمای کلی برنامه در بالای نوار منوی سمت چپ بازگردید.

اکنون، کاربران را به این برنامه اضافه کنید. در جدول نمای کلی ضروریات، روی پیوند برنامه مدیریت شده در دایرکتوری محلی کلیک کنید، یا آخرین گزینه در پایین سمت راست جدول را انتخاب کنید.

کاربران/گروه‌ها را با کلیک روی پیوند برنامه مدیریت شده در دایرکتوری محلی برای برنامه ایجاد شده اضافه کنید.

در منوی سمت چپ، کاربران و گروه‌ها را انتخاب کنید. سپس روی (+) افزودن کاربر/گروه کلیک کنید. بسته به نوع حساب، یا یک گروه و یک کاربر می‌توان اضافه کرد، یا فقط کاربران. حساب‌های شخصی فقط اجازه اضافه کردن کاربران را می‌دهند.

در قسمت کاربران یا گروه‌ها، روی هیچ انتخاب نشده است کلیک کنید و کاربرانی را که ایمیل‌ها را از حساب مایکروسافت در اودوو ارسال خواهند کرد اضافه کنید. کاربران/گروه‌ها را اضافه کنید، روی انتخاب کلیک کرده و سپس به برنامه اختصاص دهید.

ایجاد اطلاعات احراز

حالا که برنامه Microsoft Azure تنظیم شد، باید برای تنظیمات اودوو مدارک شناسایی ایجاد شود. این شامل Client ID و Client Secret می‌شود. برای شروع، می‌توانید Client ID را از صفحه Overview برنامه کپی کنید. Client ID یا Application ID در زیر Display Name در نمای کلی Essentials برنامه قرار دارد.

Application/Client ID در نمای کلی برنامه قرار دارد.

در مرحله بعد، باید Client Secret Value را دریافت کنید. برای به‌دست آوردن این مقدار، روی Certificates & Secrets در منوی نوار کناری چپ کلیک کنید. سپس باید یک Client Secret تولید شود. برای انجام این کار، روی دکمه (+) New Client Secret کلیک کنید.

یک پنجره در سمت راست باز می‌شود که دکمه‌ای به نام Add a client secret دارد. در قسمت Description، Odoo Fetchmail یا چیزی قابل تشخیص تایپ کنید، سپس تاریخ انقضا را تنظیم کنید.

مهم

اگر Client Secret اول منقضی شود، باید یک Client Secret جدید تولید و پیکربندی شود. در این صورت، ممکن است سرویس قطع شود، بنابراین تاریخ انقضاء باید یادداشت شده و به دورترین تاریخ ممکن تنظیم شود.

پس از وارد کردن این دو مقدار، روی Add کلیک کنید. یک Client Secret Value و Secret ID ایجاد خواهد شد. مهم است که Value یا Client Secret Value را در یک یادداشت کپی کنید زیرا پس از ترک این صفحه رمزگذاری می‌شود. Secret ID نیازی به ذخیره کردن ندارد.

مقدار Client Secret یا مقدار در مدارک برنامه.

پس از این مراحل، موارد زیر باید برای راه‌اندازی در اودوو آماده باشند:

  • شناسه مشتری (شناسه مشتری یا شناسه برنامه)

  • رمز مشتری (Value یا Client Secret Value)

این تنظیمات در سمت Microsoft Azure Portal تکمیل می‌شود.

راه اندازی در سمت سازمان‌یار

اطلاعات ورود Microsoft Outlook را وارد کنید

ابتدا پایگاه داده را باز کرده و به ماژول برنامه‌ها بروید. سپس فیلتر برنامه‌ها را از نوار جستجو حذف کرده و Outlook را تایپ کنید. سپس ماژول Microsoft Outlook را نصب کنید.

سپس به تنظیمات ◄ تنظیمات عمومی بروید و در بخش پیام‌رسان اطمینان حاصل کنید که گزینه سرورهای ایمیل سفارشی تیک خورده است. این گزینه جدیدی به نام اطلاعات ورود اوت‌لوک را نمایان می‌کند.

guilabel:'ذخیره' کنید.

سپس Client ID (Application ID) و Client Secret (Client Secret Value) را کپی کرده و در فیلدهای مربوطه قرار دهید و تنظیمات را با کلیک بر روی ذخیره ذخیره کنید.

اطلاعات Outlook در تنظیمات عمومی اودوو.

پیکربندی سرور ایمیل خروجی

در صفحه General Settings، در بخش تنظیمات Custom Email Servers، روی لینک Outgoing Email Servers کلیک کنید تا حساب Microsoft تنظیم شود.

سپس یک سرور ایمیل جدید ایجاد کرده و کادر مربوط به Outlook را تیک بزنید. بعد از آن، Name (می‌تواند هر چیزی باشد) و Username ایمیل Microsoft Outlook را وارد کنید.

اگر فیلد From Filter خالی است، یک دامنه یا آدرس ایمیل وارد کنید.

سپس روی :guilabel:'Connect your Outlook account' کلیک کنید.

یک پنجره جدید از Microsoft باز می‌شود تا فرآیند authorization تکمیل شود. آدرس ایمیل مناسب که در Odoo پیکربندی می‌شود را انتخاب کنید.

صفحه مجوز برای اعطای دسترسی بین برنامه جدید ایجاد شده و Odoo.

سپس با کلیک روی Yes به اودوو اجازه دهید تا به حساب Microsoft دسترسی پیدا کند. پس از آن، صفحه به سرور ایمیل خروجی جدید پیکربندی شده در اودوو باز می‌گردد. پیکربندی به طور خودکار token را در اودوو بارگذاری می‌کند و برچسبی با عنوان Outlook Token Valid به رنگ سبز ظاهر می‌شود.

شاخص توکن معتبر Outlook.

در نهایت، روی Test Connection کلیک کنید. باید یک پیام تأیید ظاهر شود. اکنون پایگاه داده Odoo می‌تواند ایمیل‌های ایمن و محافظت شده از طریق Microsoft Outlook با استفاده از احراز هویت OAuth ارسال کند.

پیکربندی با یک سرور ایمیل خروجی واحد

پیکربندی یک سرور ایمیل خروجی واحد ساده‌ترین پیکربندی موجود برای Microsoft Azure است و نیاز به دسترسی‌های گسترده برای کاربران در پایگاه داده ندارد.

یک آدرس ایمیل عمومی برای ارسال ایمیل‌ها برای همه کاربران در پایگاه داده استفاده خواهد شد. به عنوان مثال، می‌تواند با نام مستعار notifications (notifications@example.com) یا contact (contact@example.com) ساختاربندی شود. این آدرس باید به عنوان FROM Filtering در سرور تنظیم شود. این آدرس همچنین باید با ترکیب کلید {mail.default.from}@{mail.catchall.domain} در پارامترهای سیستم مطابقت داشته باشد.

همچنین ملاحظه نمائید

برای اطلاعات بیشتر به مستندات From Filtering مراجعه کنید.

توجه

با فعال‌سازی حالت توسعه‌دهنده از مسیر تنظیمات ◄ فنی ◄ پارامترها ◄ پارامترهای سیستم، پارامترهای سیستم در دسترس هستند.

هنگام استفاده از این پیکربندی، هر ایمیلی که از پایگاه داده ارسال شود از آدرس صندوق پستی notification پیکربندی شده استفاده خواهد کرد. با این حال، باید توجه داشت که نام فرستنده ظاهر می‌شود اما آدرس ایمیل آن‌ها تغییر خواهد کرد:

نام فرستنده واقعی با ایمیل ثابت.

Example

پیکربندی یک سرور ایمیل خروجی واحد:

  • نام کاربری سرور ایمیل خروجی username (ورود) = notifications@example.com

  • سرور ایمیل خروجی FROM Filtering = notifications@example.com

  • mail.catchall.domain در پارامترهای سیستم = example.com

  • mail.default.from در پارامترهای سیستم = notifications

پیکربندی خاص برای کاربران (چندین کاربر)

علاوه بر سرور ایمیل عمومی، می‌توان سرورهای ایمیل فردی برای کاربران در یک پایگاه داده راه‌اندازی کرد. این آدرس‌های ایمیل باید به عنوان FROM Filtering در هر سرور فردی تنظیم شوند تا این پیکربندی کار کند.

این پیکربندی دشوارتر از دو پیکربندی Microsoft Azure است زیرا نیاز به این دارد که تمام کاربران پیکربندی شده با سرورهای ایمیل دسترسی به تنظیمات داشته باشند تا بتوانند ارتباطی با سرور ایمیل برقرار کنند.

تنظیم و آماده‌سازی

هر کاربر باید یک سرور ایمیل جداگانه راه‌اندازی کند. باید FROM Filtering به گونه‌ای تنظیم شود که فقط ایمیل کاربر از آن سرور ارسال شود. به عبارت دیگر، فقط کاربری که آدرس ایمیل آن با تنظیمات FROM Filtering همخوانی داشته باشد قادر به استفاده از این سرور خواهد بود.

همچنین ملاحظه نمائید

برای اطلاعات بیشتر به مستندات From Filtering مراجعه کنید.

یک fallback server باید تنظیم شود تا ارسال notifications ممکن باشد. باید FROM Filtering برای این سرور مقداری برابر با {mail.default.from}@{mail.catchall.domain} داشته باشد.

توجه

با فعال‌سازی حالت توسعه‌دهنده از مسیر تنظیمات ◄ فنی ◄ پارامترها ◄ پارامترهای سیستم، پارامترهای سیستم در دسترس هستند.

مهم

پیکربندی سرور ایمیل تراکنشی می‌تواند در کنار یک سرور ایمیل ارسال انبوه کار کند. فیلتر فرستنده (FROM) برای سرور ایمیل ارسال انبوه می‌تواند خالی بماند، اما لازم است در تنظیمات برنامه بازاریابی ایمیلی اضافه شود.

همچنین ملاحظه نمائید

برای اطلاعات بیشتر در مورد تنظیم سرور ایمیل ارسال گروهی، به ارسال ایمیل با سرور SMTP خارجی مراجعه کنید.

Example

پیکربندی سرور ایمیل خروجی برای چندین کاربر:

  • صندوق ایمیل کاربر شماره ۱
    • سرور ایمیل خروجی شماره ۱ نام کاربری (ورود) = john@example.com

    • سرور ایمیل خروجی شماره ۱ FROM Filtering = john@example.com

  • صندوق ایمیل کاربر شماره ۲
    • سرور ایمیل خروجی شماره ۲ نام کاربری (ورود) = jane@example.com

    • سرور ایمیل خروجی شماره ۲ FROM Filtering = jane@example.com

  • صندوق ایمیل اطلاع‌رسانی
    • سرور ایمیل خروجی شماره ۳ نام کاربری (ورود) = notifications@example.com

    • سرور ایمیل خروجی شماره ۳ FROM Filtering = notifications@example.com

  • پارامتر سیستمی
    • mail.catchall.domain در پارامترهای سیستم = example.com

    • mail.default.from در پارامترهای سیستم = notifications

پیکربندی سرور ایمیل ورودی

حساب ورودی باید مشابه حساب ایمیل خروجی پیکربندی شود. به سرورهای ایمیل ورودی در منوی فنی بروید و یک پیکربندی جدید ایجاد کنید. دکمه کنار احراز هویت Outlook Oauth را انتخاب کرده و نام کاربری مایکروسافت Outlook را وارد کنید. روی اتصال حساب Outlook خود کلیک کنید. Odoo بیان می‌کند: توکن Outlook معتبر است. حالا حساب را آزمایش و تأیید کنید. حساب باید آماده دریافت ایمیل به پایگاه داده Odoo باشد.