Skip to Content

اتصال Odoo به Gmail با Google OAuth

اگر دنبال راهی راحت و امن برای ارسال ایمیل های Odoo​ از طریق Gmail​ هستی، این مقاله دقیقاً همون چیزیه که نیاز داری

اگر دنبال راهی راحت و امن برای ارسال ایمیل های Odoo از طریق Gmail هستی، این مقاله دقیقاً همون چیزیه که نیاز داری. من تجربه شخصی خودم رو باهات به اشتراک می گذارم و همه چیز رو مرحله به مرحله توضیح می دم تا هیچ خطایی مثل redirect_uri_mismatch​ یا blocked emails پیش نیاد.

چرا Google OAuth؟

قبلاً ممکن بود از SMTP ساده استفاده کنیم، اما Google OAuth مزایای زیادی داره:

  • امنیت بالاتر و حذف نیاز به ذخیره پسورد در Odoo
  • سازگاری با Gmail و Google Workspace
  • جلوگیری از بلاک شدن ایمیل ها به دلیل رمز عبور ضعیف یا دسترسی کمتر امن

گام اول: ساخت پروژه در Google Cloud

  1. وارد Google Cloud Console شو.
  2. یک پروژه جدید بساز و اسمش رو چیزی مثل Odooist Email Integration بذار.
  3. از منوی APIs & Services → OAuth consent screen رو انتخاب کن.
  4. ⚠️حواست باشه باید پروژه ای که ایجاد کردی رو انتخاب کنی از بالای صفحه سمت چپ کنار لوگوی Google Cloud

    • از صفحه Overview که بازه دکمه Get started رو بزن.
    • وقتشه که تنظیمات پروژه رو انجام بدی. App Name  و UserSupport Email رو توی قسمت App Information وارد کن و دکمه Next رو بزن.
    • میرسیم به Audience که باید نوع کاربر رو مشخص کنی و دکمه Next رو بزنی.
      • Internal: مخصوص سازمان هایی با Google Workspace (اکانت شرکتی روی دامنه اختصاصی). فقط کاربرای داخلی می تونن استفاده کنن و نیازی به تایید گوگل نداره.
      • External: مخصوص همه اکانت های Gmail معمولی. برای بیشتر ماها فقط این گزینه فعاله و نیاز داره اپ وریفای بشه.
    1.  یه آدرس ایمیل توی قسمت Contact Information وارد کن و دکمه Next رو بزن.
    2. اینجا باید گزینه  ‍I agree to the Google API Services: User Data Policy. رو فعال کنی و دکمه Continue رو بزنی.
    3. بعد از اتمام مراحل اگه دکمه Create رو بزنی تنظیمات ایجاد میشه.

    ولی تا زمانی که

    8. ایمیل های تست کننده (Test Users) رو اضافه کن، حداقل ایمیلی که قصد داری به اون ارسال بشه.

      • از منوی APIs & Services → OAuth consent screen رو انتخاب کن.
      • پایین صفحه یه تب هست به اسم Test users
      • روی + ADD USERS کلیک کن
      • ایمیل هایی که می‌خوای اجازه استفاده از این OAuth رو داشته باشن وارد کن (حداقل ایمیل خودت و ایمیلی که توی Odoo ست می‌کنی)
      • ذخیره کن (Save)

    گام دوم: فعال کردن Gmail API

    قبل از ساخت Credentials، حتماً Gmail API رو فعال کن:

    1. مسیر APIs & Services → Library رو باز کن.
    2. عبارت ‍Gmail API​ رو جستجو کن.
    3. بعد از اینکه پیدا شد روش کلیک کن تا صفحش باز بشه و در نهایت روی Enable کلیک کن تا Gmail API​ برای پروژه فعال بشه.

    ⚠️ بدون فعال کردن Gmail API​، حتی با Client ID​ و Client Secret​ درست، هنگام Authorize​ یا Test Connection​ در Odoo​ خطا دریافت می کنی.

    گام سوم: ایجاد OAuth Credentials

    1. مسیر  APIs & Services → CredentialsCreate CredentialsOAuth Client ID رو باز کن.
    2. Application Type رو بذار روی Web Application 
    3. یه نام برای وب کلاینت قرار بده.
    4. Authorized redirect URIs رو مطابق دامنه خودت بصورت زیر مقدار دهی کن.
      https://your-odoo-domain.com/google_gmail/confirm

      💡 نکته: اگر دامنه تو www داره، حتماً با www بنویس تا خطای redirect_uri_mismatch پیش نیاد.

    5. بعد از ساخت، Client ID و Client Secret رو یادداشت کن.

    گام چهارم: تنظیمات در Odoo

    1. به تنظیمات (Settings) ← ​فنی (Technical) ← سرور های ایمیل خروجی (Outgoing Mail Servers) برو.
    2. یک سرور ایمیل (Mail Server) جدید بساز:
      • نام سرور (Server Name): مثلا بذارش Gmail​
      • احراز هویت با (Authenticate with): گزینه Gmail OAuth Authentication رو فعال کن
      • رمز گذاری اتصال (Connection Encryption): گزینه TLS (STARTTLS) رو فعال کن
      • سرور SMTP: مقدار smtp.gmail.com رو قرار بده
      • پورت SMTP: مقدار 587 رو وارد کن
      • نام کاربری (Username): آدرس جیمیل خودت رو وارد کن
      • برو به تنظیمات (Settings) ← تنظیمات عمومی (General Settings) ← بخش ایمیل ها (Mails)
      • تیک گزینه "استفاده از سرورهای ایمیل سفارشی" (Use Custom Email Servers) رو فعال کن
      • تیک گزینه "استفاده از سرور جیمیل" (Use a Gmail Server) رو فعال کن
      • Client ID و Client Secret  که از Google Console برداشتی رو توی کادرای مربوط بخودش وارد کن
      • دوباره برگرد به تنظیمات SMTP که ایجاد کردی
      •  یه لینک زیر نام کاربری هست که نوشته: "حساب جیمیل خود را متصل کنید"  (Connect your Gmail account)، روی اون کلیک کن تا صفحه ورود گوگل باز بشه.
      • ​بعد از ورود به حساب کاربری گوگل همه چی درسته و اگه همه مراحل رو درست رفته باشی و یه تست اتصال توی صفحه تنظیمات SMTP  بگیری پیغام موفقیت آمیز اتصال به جیمیلت رو می بینی

    نکات کلیدی که ممکنه دچار خطا بشی

    • redirect_uri_mismatch:  مقدار URL redirect در Google Console و دامنه سایت Odoo حتماً باید دقیقاً یکی باشه.
    • Access blocked / verification: اگر App هنوز verify نشده، فقط Developer و Testers می تونن استفاده کنن.

    تست ایمیل

    1. یک ایمیل تست از Odoo ارسال کن.
    2. بررسی کن که لاگ ها بدون خطا باشن و ایمیل به مقصد ارسال شده باشه.
    3. اگر با ایمیل های داخلی یا سرویس های دیگه مشکل داشتی، مطمئن شو رکوردهای MX و SPF توی DNS Server درست تنظیم شده باشن.

    جمع بندی

    اتصال Odoo به Gmail با OAuth امن، سریع و قابل اعتماد هست، مخصوصاً اگر از ایمیل برای دعوت کاربران یا نوتیفیکیشن ها استفاده می کنیم. فقط باید Gmail API فعال باشه، redirect URI درست باشه و OAuth consent تکمیل شده باشه.

    اضافه کردن فیلتر به سرچ در Odoo 18 + رفع خطاهای رایج
    اگر می‌خوای فیلتر سفارشی رو به سرچ Odoo 18 اضافه کنی بدون دردسر و خطا، این مقاله مخصوص توئه