اگر دنبال راهی راحت و امن برای ارسال ایمیل های Odoo از طریق Gmail هستی، این مقاله دقیقاً همون چیزیه که نیاز داری. من تجربه شخصی خودم رو باهات به اشتراک می گذارم و همه چیز رو مرحله به مرحله توضیح می دم تا هیچ خطایی مثل redirect_uri_mismatch یا blocked emails پیش نیاد.
چرا Google OAuth؟
قبلاً ممکن بود از SMTP ساده استفاده کنیم، اما Google OAuth مزایای زیادی داره:
-
امنیت بالاتر و حذف نیاز به ذخیره پسورد در
Odoo -
سازگاری با
GmailوGoogle Workspace - جلوگیری از بلاک شدن ایمیل ها به دلیل رمز عبور ضعیف یا دسترسی کمتر امن
گام اول: ساخت پروژه در Google Cloud
- وارد Google Cloud Console شو.
-
یک پروژه جدید بساز و اسمش رو چیزی مثل
Odooist Email Integrationبذار. -
از منوی
APIs & Services→OAuth consent screenرو انتخاب کن. ⚠️حواست باشه باید پروژه ای که ایجاد کردی رو انتخاب کنی از بالای صفحه سمت چپ کنار لوگوی
Google Cloud- از صفحه
Overviewکه بازه دکمهGet startedرو بزن. - وقتشه که تنظیمات پروژه رو انجام بدی.
App NameوUserرو توی قسمتSupport EmailApp Informationوارد کن و دکمهNextرو بزن. - میرسیم به
Audienceکه باید نوع کاربر رو مشخص کنی و دکمهNextرو بزنی.
Internal: مخصوص سازمان هایی با Google Workspace (اکانت شرکتی روی دامنه اختصاصی). فقط کاربرای داخلی می تونن استفاده کنن و نیازی به تایید گوگل نداره.-
External: مخصوص همه اکانت هایGmailمعمولی. برای بیشتر ماها فقط این گزینه فعاله و نیاز داره اپ وریفای بشه.
- یه آدرس ایمیل توی قسمت
Contact Informationوارد کن و دکمهNextرو بزن. - اینجا باید گزینه
I agree to the Google API Services: User Data Policy.رو فعال کنی و دکمهContinueرو بزنی. - بعد از اتمام مراحل اگه دکمه
Createرو بزنی تنظیمات ایجاد میشه.
ولی تا زمانی که
8. ایمیل های تست کننده (Test Users) رو اضافه کن، حداقل ایمیلی که قصد داری به اون ارسال بشه.
- از منوی
APIs & Services→OAuth consent screenرو انتخاب کن. - پایین صفحه یه تب هست به اسم Test users
- روی + ADD USERS کلیک کن
- ایمیل هایی که میخوای اجازه استفاده از این OAuth رو داشته باشن وارد کن (حداقل ایمیل خودت و ایمیلی که توی Odoo ست میکنی)
- ذخیره کن (Save)
- از منوی
گام دوم: فعال کردن Gmail API
قبل از ساخت Credentials، حتماً Gmail API رو فعال کن:
-
مسیر
APIs & Services→Libraryرو باز کن. - عبارت
Gmail API رو جستجو کن. - بعد از اینکه پیدا شد روش کلیک کن تا صفحش باز بشه و در نهایت روی
Enableکلیک کن تاGmail API برای پروژه فعال بشه.
⚠️ بدون فعال کردن
Gmail API، حتی باClient ID وClient Secret درست، هنگامAuthorize یاTest Connection درOdoo خطا دریافت می کنی.
گام سوم: ایجاد OAuth Credentials
-
مسیر
APIs & Services→Credentials→Create Credentials→OAuth Client IDرو باز کن. -
Application Type رو بذار رویWeb Application - یه نام برای وب کلاینت قرار بده.
-
Authorized redirect URIsرو مطابق دامنه خودت بصورت زیر مقدار دهی کن.https://your-odoo-domain.com/google_gmail/confirm
💡 نکته: اگر دامنه تو
wwwداره، حتماً باwwwبنویس تا خطایredirect_uri_mismatchپیش نیاد. -
بعد از ساخت،
Client IDوClient Secretرو یادداشت کن.
گام چهارم: تنظیمات در Odoo
-
به تنظیمات
(Settings)← فنی(Technical)← سرور های ایمیل خروجی(Outgoing Mail Servers)برو. -
یک سرور ایمیل
(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می تونن استفاده کنن.
تست ایمیل
-
یک ایمیل تست از
Odooارسال کن. - بررسی کن که لاگ ها بدون خطا باشن و ایمیل به مقصد ارسال شده باشه.
-
اگر با ایمیل های داخلی یا سرویس های دیگه مشکل داشتی، مطمئن شو رکوردهای
MXوSPFتویDNS Serverدرست تنظیم شده باشن.
جمع بندی
اتصال Odoo به Gmail با OAuth امن، سریع و قابل اعتماد هست، مخصوصاً اگر از ایمیل برای دعوت کاربران یا نوتیفیکیشن ها استفاده می کنیم. فقط باید Gmail API فعال باشه، redirect URI درست باشه و OAuth consent تکمیل شده باشه.