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

این مستندات سه پروتکل احراز هویت تکمیلی (SPF، DKIM و DMARC) را معرفی می‌کند که برای اثبات legitimacy فرستندهٔ ایمیل استفاده می‌شوند. عدم انطباق با این پروتکل‌ها به‌طور قابل توجهی شانس رسیدن ایمیل‌های شما به مقصد را کاهش می‌دهد.

پایگاه‌های دادهٔ Odoo Online و Odoo.sh که از آدرس subdomain پیش‌فرض Odoo (مثلاً @company-name.odoo.com) استفاده می‌کنند برای ارسال ایمیل‌های احراز هویت‌شده منطبق با پروتکل‌های SPF، DKIM و DMARC از قبل پیکربندی شده‌اند.

اگر به‌جای آن انتخاب کنید از یک دامنهٔ سفارشی استفاده کنید، پیکربندی صحیح رکوردهای SPF و DKIM ضروری است تا از قرنطینه شدن ایمیل‌ها به‌عنوان spam یا تحویل داده نشدن به گیرندگان جلوگیری شود.

اگر از سرور ایمیل پیش‌فرض Odoo برای ارسال ایمیل از یک دامنهٔ سفارشی استفاده می‌کنید، رکوردهای SPF و DKIM باید همان‌طور که در زیر ارائه شده پیکربندی شوند. اگر از یک سرور ایمیل خروجی استفاده می‌کنید، لازم است از رکوردهای SPF و DKIM مختص آن سرویس ایمیل و دامنهٔ سفارشی استفاده کنید.

توجه

ارائه‌دهندگان سرویس ایمیل قواعد متفاوتی را برای ایمیل‌های ورودی اعمال می‌کنند. یک ایمیل ممکن است به‌عنوان spam طبقه‌بندی شود حتی اگر بررسی‌های SPF و DKIM را با موفقیت پشت سر بگذارد.

SPF (چارچوب سیاست فرستنده)

پروتکل Sender Policy Framework (SPF) به مالک یک نام دامنه اجازه می‌دهد مشخص کند کدام سرورها مجاز به ارسال ایمیل از آن دامنه هستند. هنگامی که یک سرور یک ایمیل ورودی دریافت می‌کند، بررسی می‌کند آیا آدرس IP سرور ارسال‌کننده در فهرست IPهای مجاز طبق رکورد SPF فرستنده است یا خیر.

در Odoo، آزمون SPF روی آدرس bounce انجام می‌شود که در زیر فیلد نام مستعار دامنه که در تنظیمات عمومی پایگاه داده یافت می‌شود تعریف شده است. اگر از یک دامنهٔ سفارشی به‌عنوان نام مستعار دامنه استفاده می‌کنید، لازم است آن را برای انطباق با SPF پیکربندی کنید.

سیاست SPF یک دامنه با استفاده از یک رکورد TXT تنظیم می‌شود. روش ایجاد یا اصلاح این رکورد به ارائه‌دهنده‌ای که zone DNS نام دامنه را میزبانی می‌کند بستگی دارد.

اگر نام دامنه هنوز یک رکورد SPF ندارد، با استفاده از ورودی زیر یک رکورد ایجاد کنید:

v=spf1 include:_spf.odoo.com ~all

اگر نام دامنه قبلاً یک رکورد SPF دارد، رکورد باید به‌روزرسانی شود. یک رکورد جدید ایجاد نکنید، زیرا یک دامنه باید فقط یک رکورد SPF داشته باشد.

Example

اگر رکورد TXT v=spf1 include:_spf.google.com ~all است، آن را ویرایش کنید تا include:_spf.odoo.com را اضافه کنید: v=spf1 include:_spf.odoo.com include:_spf.google.com ~all

رکورد SPF را با استفاده از ابزاری مانند MXToolbox SPF Record Check بررسی کنید. فرایند ایجاد یا اصلاح یک رکورد SPF به ارائه‌دهنده‌ای که zone DNS نام دامنه را میزبانی می‌کند بستگی دارد. رایج‌ترین ارائه‌دهندگان و مستندات آن‌ها در زیر فهرست شده‌اند.

DKIM (ایمیل شناسایی‌شده با کلید دامنه)

DomainKeys Identified Mail (DKIM) به کاربر اجازه می‌دهد ایمیل‌ها را با یک امضای دیجیتال احراز هویت کند.

هنگام ارسال یک ایمیل، سرور ایمیل Odoo یک امضای منحصربه‌فرد DKIM را در سرتیترها (headers) می‌گنجاند. سرور گیرنده این امضا را با استفاده از رکورد DKIM در نام دامنهٔ پایگاه داده رمزگشایی می‌کند. اگر امضا و کلید موجود در رکورد مطابقت داشته باشند، اثبات می‌کند که پیام اصیل است و در طول حمل تغییر نکرده است.

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

افزودن یک رکورد CNAME برای دامنه

برای فعال‌سازی DKIM، یک رکورد canonical name (CNAME) به zone domain name system (DNS) نام دامنه اضافه کنید:

odoo._domainkey IN CNAME odoo._domainkey.odoo.com.

اگر نام دامنه company-name.com است، حتماً یک رکورد CNAME ایجاد کنید که در آن رکورد CNAME (key/name) برابر odoo._domainkey.company-name.com و canonical name (value/content) برابر odoo._domainkey.odoo.com. باشد. برای مثال، به تفاوت‌های بین هر key/value به‌صورت italic توجه کنید:

نمونهٔ رکورد CNAME

کلید

odoo._domainkey

مقدار

odoo._domainkey.odoo.com. 

یا

odoo._domainkey.dbname.odoo.com.

... که در آن dbname نام پایگاه دادهٔ Odoo است.

در بیشتر پلتفرم‌های DNS، ارائه‌دهندهٔ DNS به‌صورت پیش‌فرض دامنهٔ سفارشی (مثلاً company-name.com) را اضافه می‌کند. در این حالت، کلید متفاوت به نظر می‌رسد در حالی که مقدار یکسان باقی می‌ماند:

نمونهٔ رکورد CNAME با دامنهٔ سفارشی

کلید

odoo._domainkey.company-name.com 

... که در آن company-name.com دامنهٔ سفارشی است.

مقدار

odoo._domainkey.odoo.com. 

یا

odoo._domainkey.dbname.odoo.com.

... که در آن dbname نام پایگاه دادهٔ Odoo است.

توجه

اگر ارائه‌دهندهٔ DNS دامنهٔ سفارشی را به‌صورت پیش‌فرض اضافه نمی‌کند، حتماً آن را بگنجانید.

افزودن یک رکورد CNAME برای زیردامنه

اگر یک subdomain وجود دارد (مثلاً marketing در marketing.company-name.com)، یک رکورد CNAME برای گنجاندن آن برای انطباق نیز اضافه کنید:

نمونهٔ رکورد CNAME با زیردامنه

کلید

odoo._domainkey.marketing 

... که در آن marketing همان زیردامنه است.

یا

odoo._domainkey.marketing.company-name.com 

... که در آن company-name.com دامنهٔ سفارشی است.

مقدار

odoo._domainkey.odoo.com. 

یا

odoo._domainkey.dbname.odoo.com.

... که در آن dbname نام پایگاه دادهٔ Odoo است.

به مستندات ارائه‌دهندهٔ DNS مراجعه کنید

روش ایجاد یا اصلاح یک رکورد CNAME به ارائه‌دهنده‌ای که zone DNS نام دامنه را میزبانی می‌کند بستگی دارد. رایج‌ترین ارائه‌دهندگان و مستندات آن‌ها در زیر فهرست شده‌اند.

بررسی کنید آیا رکورد DKIM معتبر است با استفاده از ابزاری مانند MXToolbox DKIM Record Lookup. example.com:odoo را در ابزار DKIM lookup وارد کنید و مشخص کنید که selector که آزمایش می‌شود odoo برای دامنهٔ سفارشی example.com است.

DMARC (احراز هویت، گزارش‌دهی و انطباق پیام مبتنی بر دامنه)

رکورد DMARC یک پروتکل است که SPF و DKIM را یکپارچه می‌کند. دستورالعمل‌های موجود در رکورد DMARC یک نام دامنه به سرور مقصد می‌گویند با یک ایمیل ورودی که بررسی SPF و/یا DKIM را با موفقیت پشت سر نگذاشته چه باید بکند.

توجه

هدف از این مستندات کمک به درک تأثیر DMARC بر deliverability ایمیل‌ها است، نه ارائهٔ دستورالعمل‌های دقیق برای ایجاد یک رکورد DMARC. برای تنظیم رکورد DMARC به منبعی مانند DMARC.org مراجعه کنید.

سه سیاست DMARC وجود دارد:

  • p=none

  • p=quarantine

  • p=reject

p=quarantine و p=reject به سروری که یک ایمیل را دریافت می‌کند دستور می‌دهند آن ایمیل را قرنطینه کند یا در صورت شکست بررسی SPF یا DKIM آن را نادیده بگیرد.

توجه

برای موفقیت DMARC، بررسی DKIM یا SPF باید موفق باشد و دامنه‌ها باید در تراز باشند. اگر نوع میزبانی Odoo Online است، پیکربندی DKIM روی دامنهٔ ارسال‌کننده برای موفقیت DMARC الزامی است.

موفقیت DMARC به‌طور کلی به این معنی است که ایمیل با موفقیت تحویل داده خواهد شد. با این حال، مهم است توجه داشت که سایر عوامل مانند فیلترهای spam همچنان می‌توانند یک پیام را رد یا قرنطینه کنند.

p=none برای مالک دامنه استفاده می‌شود تا گزارش‌هایی دربارهٔ نهادهایی که از دامنهٔ او استفاده می‌کنند دریافت کند. این نباید بر deliverability تأثیر بگذارد.

Example

_dmarc IN TXT “v=DMARC1; p=none; rua=mailto:postmaster@example.com” به این معنی است که گزارش‌های DMARC تجمیعی به postmaster@example.com ارسال می‌شوند.

مستندات SPF، DKIM و DMARC ارائه‌دهندگان رایج

برای آزمایش کامل پیکربندی، از ابزار Mail-Tester استفاده کنید که یک نمای کلی کامل از محتوا و پیکربندی در یک ایمیل ارسالی ارائه می‌دهد. Mail-Tester همچنین می‌تواند برای پیکربندی رکوردها برای سایر ارائه‌دهندگان کمتر شناخته‌شده استفاده شود.