اتصال Microsoft Outlook 365 به Odoo با استفاده از Azure OAuth

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

راه‌اندازی در Microsoft Azure Portal

ایجاد یک اپلیکیشن جدید

برای شروع، به Microsoft's Azure Portal بروید. اگر یک حساب Microsoft Outlook Office 365 وجود دارد با آن وارد شوید، در غیر این صورت با Microsoft account شخصی وارد شوید. یک کاربر با دسترسی administrative به Azure Settings باید متصل شود و پیکربندی زیر را انجام دهد. سپس به بخش Manage Microsoft Entra ID (formerly Azure Active Directory) بروید.

اکنون، روی Add (+) که در منوی بالا قرار دارد کلیک کنید و سپس App registration را انتخاب کنید. در صفحهٔ Register an application، نام را به Odoo یا چیزی قابل تشخیص تغییر دهید. در بخش Supported account types، Accounts in any organizational directory (Any Microsoft Entra ID directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox) را انتخاب کنید.

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

توجه

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

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

مجوزهای API

API permissions باید بعد تنظیم شوند. Odoo برای قادر بودن به خواندن (IMAP) و ارسال (SMTP) ایمیل‌ها در راه‌اندازی Microsoft 365 به مجوزهای API خاصی نیاز دارد. ابتدا روی لینک API permissions که در نوار منوی سمت چپ قرار دارد کلیک کنید. سپس روی دکمهٔ (+) Add a Permission کلیک کنید و Microsoft Graph را در زیر Commonly Used Microsoft APIs انتخاب کنید. پس از آن، گزینهٔ Delegated Permissions را انتخاب کنید.

در نوار جستجو، Delegated permissions زیر را جستجو کنید و برای هرکدام روی Add permissions کلیک کنید:

  • SMTP.Send

  • IMAP.AccessAsUser.All

توجه

مجوز User.Read به‌صورت پیش‌فرض اضافه می‌شود.

مجوزهای API موردنیاز برای یکپارچه‌سازی Odoo زیر Microsoft Graph فهرست شده‌اند.

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

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

اکنون کاربران را به این اپلیکیشن اضافه کنید. در جدول کلی Essentials، روی لینکی به نام Managed Application in Local Directory یا آخرین گزینه در سمت راست پایین جدول کلیک کنید.

افزودن کاربران/گروه‌ها با کلیک روی پیوند Managed application in local directory برای اپلیکیشن ایجادشده.

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

در زیر کاربران یا گروه‌ها، روی None Selected کلیک کنید و کاربران یا گروه کاربرانی را که از Microsoft account در Odoo ایمیل ارسال می‌کنند اضافه کنید. کاربران/گروه‌ها را افزودن کنید، روی انتخاب کلیک کنید و سپس آن‌ها را به اپلیکیشن Assign کنید.

ایجاد اعتبارنامه‌ها

اکنون که اپ Microsoft Azure راه‌اندازی شد، اعتبارنامه‌ها برای راه‌اندازی Odoo باید ایجاد شوند. این‌ها شامل شناسه Client ID و کلید محرمانه مشتری هستند. برای شروع، شناسه Client ID را می‌توان از صفحهٔ داشبورد اپ کپی کرد. شناسه Client ID یا شناسه (ID) برنامه در زیر نام نمایشی در نمای کلی Essentials اپ قرار دارد.

Application/Client ID که در Overview اپ قرار دارد.

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

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

مهم

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

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

Client Secret Value یا Value در credentials اپ.

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

  • یک client ID (شناسه Client ID یا شناسه (ID) برنامه)

  • یک client secret (مقدار یا Client Secret Value)

این کار راه‌اندازی در سمت Microsoft Azure Portal را تکمیل می‌کند.

راه‌اندازی در Odoo

وارد کردن اعتبارنامه‌های Microsoft Outlook

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

سپس به تنظیمات ↤ تنظیمات عمومی بروید و در بخش Emails، اطمینان حاصل کنید که checkbox برای استفاده از سرورهای ایمیل سفارشی تیک خورده است. این یک گزینهٔ جدید برای Outlook Credentials پر می‌کند.

پیشرفت را ذخیره کنید.

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

Outlook Credentials در Odoo General تنظیمات.

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

در صفحهٔ تنظیمات عمومی، در زیر تنظیم Custom Email Servers، روی لینک سرورهای ایمیل خروجی کلیک کنید تا حساب Microsoft را پیکربندی کنید.

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

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

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

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

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

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

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

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

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

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

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

همچنین ببینید

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

توجه

پارامترهای سیستم را می‌توان با فعال‌سازی حالت توسعه‌دهنده (debug mode) در منوی تنظیمات ↤ فنی ↤ پارامترها ↤ پارامترهای سیستم دسترسی پیدا کرد.

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

Name از فرستندهٔ واقعی با ایمیل static.

Example

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

  • username (login) سرور ایمیل خروجی = notifications@example.com

  • فیلتر FROM (از) سرور ایمیل خروجی = notifications@example.com

  • mail.catchall.domain در system parameters = example.com

  • mail.default.from در system parameters = notifications

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

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

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

راه‌اندازی

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

همچنین ببینید

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

یک fallback server باید راه‌اندازی شود تا اجازهٔ ارسال اعلان‌ها را بدهد. فیلتر FROM (از) برای این سرور باید مقدار {mail.default.from}@{mail.catchall.domain} را داشته باشد.

توجه

پارامترهای سیستم را می‌توان با فعال‌سازی حالت توسعه‌دهنده (debug mode) در منوی تنظیمات ↤ فنی ↤ پارامترها ↤ پارامترهای سیستم دسترسی پیدا کرد.

مهم

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

همچنین ببینید

برای اطلاعات بیشتر دربارهٔ تنظیم سرور ایمیل mass-mailing به ارسال ایمیل با یک سرور SMTP خارجی مراجعه کنید.

Example

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

  • صندوق پستی کاربر #۱
    • username (login) سرور ایمیل خروجی #۱ = john@example.com

    • فیلتر FROM (از) سرور ایمیل خروجی #۱ = john@example.com

  • صندوق پستی کاربر #۲
    • username (login) سرور ایمیل خروجی #۲ = jane@example.com

    • فیلتر FROM (از) سرور ایمیل خروجی #۲ = jane@example.com

  • صندوق پستی اعلان‌ها
    • username (login) سرور ایمیل خروجی #۳ = notifications@example.com

    • فیلتر FROM (از) سرور ایمیل خروجی #۳ = notifications@example.com

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

    • mail.default.from در system parameters = notifications

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

حساب ورودی باید به روشی مشابه با حساب ایمیل خروجی پیکربندی شود. به سرورهای ایمیل ورودی در Technical Menu بروید و یک پیکربندی جدید ایجاد کنید. دکمهٔ کنار احراز هویت از طریق Outlook OAuth را تیک بزنید یا انتخاب کنید و Microsoft Outlook username را وارد کنید. روی Connect your Outlook account کلیک کنید. Odoo می‌گوید: Outlook Token Valid. اکنون حساب را Test and Confirm کنید. حساب باید آمادهٔ دریافت ایمیل به پایگاه دادهٔ Odoo باشد.