اتصال Gmail به Odoo با استفاده از Google OAuth

Odoo با Google OAuth برای Gmail سازگار است. برای ارسال ایمیل‌های امن از یک دامنهٔ سفارشی، تنها چیزی که لازم است، پیکربندی چند تنظیم در پلتفرم Workspace Google و همچنین در بک‌اند پایگاه دادهٔ Odoo است. این پیکربندی با استفاده از یک آدرس ایمیل شخصی یا یک آدرس ایجادشده توسط یک دامنهٔ سفارشی کار می‌کند.

نکته

برای اطلاعات بیشتر، به مستندات گوگل دربارهٔ راه‌اندازی OAuth مراجعه کنید.

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

ایجاد یک پروژهٔ جدید

برای شروع، به Google API Console بروید. اگر حساب Google Workspace دارید با آن وارد شوید، در غیر این صورت با حساب شخصی Gmail خود وارد شوید (این باید با آدرس ایمیلی که می‌خواهید در Odoo پیکربندی کنید مطابقت داشته باشد).

پس از آن، روی ایجاد پروژه که در سمت راست OAuth consent screen قرار دارد کلیک کنید. اگر قبلاً یک پروژه در این حساب ایجاد شده است، گزینهٔ New Project در سمت راست بالا زیر منوی کشویی Select a project قرار خواهد گرفت.

در صفحهٔ New Project، نام پروژه را به Odoo تغییر نام دهید و برای مکان جستجو کنید. مکان را به‌عنوان Google Workspace organization تنظیم کنید. اگر از یک حساب شخصی Gmail استفاده می‌کنید، مکان را به‌عنوان No Organization رها کنید.

نام پروژه و مکان برای Google OAuth.

برای پایان دادن به این مرحله روی ایجاد کلیک کنید.

ویرایش ثبت اپلیکیشن

در ادامه app registration پروژه را پیکربندی خواهیم کرد.

در مرحلهٔ OAuth consent screen، در بخش App information، Odoo را در فیلد App name وارد کنید. آدرس ایمیل سازمان را در فیلد ایمیل User support انتخاب کنید.

در ادامه، در App Domain ↤ Authorized domains، روی Add Domain کلیک کنید و odoo.com را وارد کنید.

پس از آن، در بخش Developer contact information، آدرس ایمیل سازمان را وارد کنید. Google از این آدرس ایمیل برای اطلاع‌رسانی به سازمان دربارهٔ هرگونه تغییر در پروژهٔ شما استفاده می‌کند.

در ادامه، روی دکمهٔ Save and Continue کلیک کنید. سپس، صفحهٔ Scopes را با اسکرول به پایین و کلیک روی Save and Continue رد کنید.

اگر در حالت تست (External) ادامه می‌دهید، آدرس‌های ایمیل در حال پیکربندی را در مرحلهٔ Test users با کلیک روی Add Users و سپس دکمهٔ Save and Continue اضافه کنید. یک خلاصه از app registration ظاهر می‌شود.

در نهایت، به پایین اسکرول کنید و روی Back to Dashboard کلیک کنید تا راه‌اندازی پروژه را به پایان برسانید.

ایجاد Credentials

اکنون که پروژه راه‌اندازی شده است، باید credentials‌ها ایجاد شوند که شامل Client ID و Client Secret است. ابتدا، روی اعتبارنامه‌ها در منوی نوار کناری سمت چپ کلیک کنید.

سپس، روی Create Credentials در منوی بالا کلیک کنید و شناسه (ID) کلاینت OAuth را از منوی کشویی انتخاب کنید.

  • زیر Application Type، Web Application را از منوی کشویی انتخاب کنید.

  • در فیلد نام، Odoo را وارد کنید.

  • زیر برچسب Authorized redirect URIs، روی دکمهٔ ADD URI کلیک کنید و سپس https://yourdbname.odoo.com/google_gmail/confirm را در فیلد URIs 1 وارد کنید. مطمئن شوید بخش yourdbname از URL را با نام واقعی پایگاه دادهٔ Odoo جایگزین کنید.

  • در ادامه، روی ایجاد کلیک کنید تا یک OAuth شناسه Client ID و کلید محرمانه مشتری تولید شود. در نهایت، هر مقدار تولیدشده را برای استفادهٔ بعدی هنگام پیکربندی در Odoo کپی کنید و سپس به پایگاه دادهٔ Odoo بروید.

Client ID و Client Secret برای Google OAuth.

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

وارد کردن Credentials Google

ابتدا، Odoo را باز کنید و به ماژول برنامه‌ها بروید. سپس، فیلتر برنامه‌ها را از نوار جستجو حذف کنید و Google را تایپ کنید. ماژولی به نام Google Gmail را نصب کنید.

در ادامه، به تنظیمات ↤ تنظیمات عمومی بروید و در بخش چت، مطمئن شوید چک‌باکس Custom Email Servers یا External Email Servers تیک خورده است. این کار یک گزینهٔ جدید برای Gmail Credentials یا Use a Gmail Sever پر می‌کند. سپس، مقادیر مربوطه را کپی و در فیلدهای شناسه Client ID و کلید محرمانه مشتری پیست کنید و تنظیمات را ذخیره کنید.

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

برای پیکربندی حساب Gmail خارجی، به بالای تنظیمات Custom Email Servers بازگردید و سپس روی پیوند سرورهای ایمیل خروجی کلیک کنید.

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

سپس، روی جدید یا ایجاد کلیک کنید تا یک سرور ایمیل جدید ایجاد کنید و نام، توضیحات و نام کاربری ایمیل (در صورت لزوم) را پر کنید.

در ادامه، روی احراز هویت OAuth جیمیل یا Gmail (زیر بخش با استفاده از <b>پذیرش اعتبار</b> یا اتصال) کلیک کنید. در نهایت، روی Connect your Gmail Account کلیک کنید.

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

اگر آدرس ایمیل یک حساب شخصی است، یک مرحلهٔ اضافی ظاهر می‌شود، بنابراین روی ادامه کلیک کنید تا اعتبارسنجی انجام شود و حساب Gmail به Odoo متصل شود.

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

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

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

پرسش‌های متداول Google OAuth

وضعیت انتشار Production در مقابل Testing

انتخاب تولید به‌عنوان Publishing Status (به‌جای Testing) پیام هشدار زیر را نمایش می‌دهد:

OAuth به 100 ورود scope حساس محدود است.

برای رفع این هشدار، به Google API Platform بروید. اگر Publishing status برابر با In Production است، روی Back to Testing کلیک کنید تا مشکل برطرف شود.

هیچ کاربر آزمایشی‌ای اضافه نشده است

اگر هیچ test user‌ای به OAuth consent screen اضافه نشده باشد، یک خطای access denied با کد 403 پر می‌شود.

خطای 403 دسترسی ممنوع.

برای رفع این خطا، به OAuth consent screen زیر APIs & Services بازگردید و test user(ها) را به اپ اضافه کنید. ایمیلی را که در Odoo پیکربندی می‌کنید اضافه کنید.

ماژول Gmail به‌روزرسانی نشده است

اگر ماژول Google Gmail در Odoo به آخرین نسخه به‌روزرسانی نشده باشد، یک پیام خطای Forbidden پر می‌شود.

ممنوع — شما اجازهٔ دسترسی به منبع درخواست‌شده را ندارید.

برای رفع این خطا، به ماژول برنامه‌ها بروید و عبارات جستجو را پاک کنید. سپس Gmail یا Google را جستجو کنید و ماژول Google Gmail را ارتقا دهید. در نهایت، روی سه نقطه در بالا سمت راست ماژول کلیک کنید و ارتقا را انتخاب کنید.

نوع اپلیکیشن

هنگام ایجاد credentials‌ها (OAuth Client ID و Client Secret)، اگر دسکتاپ برای Application Type انتخاب شود، یک Authorization Error ظاهر می‌شود.

خطای 400 عدم تطابق URI بازگشت.

برای رفع این خطا، credentials‌های قبلاً ایجادشده را حذف کنید و credentials‌های جدید ایجاد کنید و Web Application را برای Application Type انتخاب کنید. سپس، در Authorized redirect URIs، روی ADD URI کلیک کنید و در فیلد تایپ کنید: https://yourdbname.odoo.com/google_gmail/confirm و مطمئن شوید که yourdbname در URL را با نام پایگاه دادهٔ Odoo جایگزین کنید.