اگر زیرساخت ایمیل اختصاصی خود را اداره میکنید، یا ارائهدهندهٔ شما در فهرست مستقیم ما نیست، از این گزینه استفاده کنید — تقریباً همهٔ سرویسهای ایمیل از SMTP پشتیبانی میکنند.
⚠️ اگر ارائهدهندهٔ شما Mailgun، SendGrid، Postmark، Amazon SES یا Resend است، در عوض از راهنمای اختصاصی آن استفاده کنید. این اتصالها هنگام بروز مشکل پیامهای خطای بهتری ارائه میدهند، زیرا ما میتوانیم پاسخ واقعی ارائهدهنده را بخوانیم، نه صرفاً یک کد وضعیت SMTP.
آنچه نیاز دارید
چهار مورد، از طرف هر کسی که سرور ایمیل شما را مدیریت میکند:
- Host — برای مثال
smtp.yourprovider.com
- Port —
587، 465 یا 2525
- Username و password
کدام پورت
587 پورت ارسال (submission) همراه با STARTTLS است و گزینهای است که باید استفاده کنید. اتصال بهصورت رمزگذارینشده آغاز میشود و پیش از ارسال هرگونه داده، به TLS ارتقا مییابد.
465 پورت TLS ضمنی (implicit TLS) است — یعنی از نخستین بایت رمزگذاری شده است. این گزینه نیز کاملاً مناسب است؛ برخی ارائهدهندگان آن را ترجیح میدهند.
2525 یک جایگزین غیررسمی است که برخی میزبانها ارائه میدهند، زیرا تعداد کمی از شبکهها پورت 587 را مسدود میکنند. تنها در صورتی از آن استفاده کنید که ارائهدهندهتان چنین دستوری داده باشد.
⛔ پورت 25 در اینجا پذیرفته میشود اما تقریباً هرگز انتخاب درستی نیست. این پورت مخصوص ارتباط سرورهای ایمیل با یکدیگر است، نه پورتی که یک برنامه کاربردی برای تحویل پیام استفاده میکند. این پورت در بیشتر شبکهها مسدود است، غالباً فاقد احراز هویت است، و در مواردی هم که کار میکند، اغلب رمزگذارینشده است.
⛔⛔ ما از طریق اتصال رمزگذارینشده ایمیلی ارسال نخواهیم کرد. اگر گزینهٔ Use STARTTLS را روشن بگذارید — که باید چنین کنید — و سرور شما از ارتقای اتصال خودداری کند، فرایند ارسال متوقف میشود نه اینکه بهصورت رمزگذارینشده ادامه یابد. این تصمیم عمدی است: پیوندهای بازنشانی گذرواژهٔ مشتریان شما در این پیامها منتقل میشوند، و تنزل امنیتی بدون اینکه کسی متوجه آن شود بدترین نوع خرابی است، چرا که ایمیل همچنان تحویل داده میشود.
ابتدا DNS خود را تنظیم کنید
ارائهدهندهٔ شما بر خلاف سرویسهای مدیریتشده، این کار را برایتان انجام نمیدهد. شما روی دامنهای که از آن ایمیل ارسال میکنید، به موارد زیر نیاز دارید:
SPF — یک رکورد TXT که نشانی سرور شما را مجاز میکند: v=spf1 ip4:203.0.113.10 -all، یا v=spf1 a:smtp.yourprovider.com -all. اگر از قبل رکورد SPF دارید، آن را ویرایش کنید؛ وجود دو رکورد SPF روی یک دامنه باعث رد شدن کامل SPF میشود.
DKIM — سرور ایمیل شما پیامهای خروجی را امضا میکند و شما کلید عمومی متناظر را در <selector>._domainkey.yourdomain.com منتشر میکنید. در Postfix این مورد معمولاً OpenDKIM است؛ ارائهدهندهٔ شما مقدار selector را اعلام خواهد کرد.
DMARC — یک رکورد TXT در _dmarc.yourdomain.com، که همزمان با بررسی موفقیتآمیز بودن هر دو مورد SPF و DKIM، با v=DMARC1; p=none; آغاز میشود.
Reverse DNS — رکورد PTR مربوط به نشانی IP سرور شما باید به نام میزبان (hostname) آن بازگردد. دریافتکنندگان بزرگ این مورد را بررسی میکنند و بسیاری از آنها ایمیلهای ارسالی از نشانی فاقد آن را نمیپذیرند. ارائهدهندهٔ میزبانی شما این رکورد را تنظیم میکند، نه ارائهدهندهٔ DNS شما.
⭐ یک روش بررسی رایگان و مناسب پس از راهاندازی: پیامی به mail-tester.com ارسال کنید و امتیاز دریافتی را بررسی نمایید. این ابزار مشخص میکند کدامیک از این چهار مورد اشکال دارد، که بسیار سریعتر از حدس زدن بر اساس پوشهٔ هرزنامه است.
اتصال آن در Zinn®
بخش Email sending را در داشبورد خود باز کنید:
- Provider — سرور SMTP
- Send from this domain —
mail.yourdomain.com (یک دامنه، نه یک نشانی ایمیل)
- SMTP host، Port، Username، Password
- Use STARTTLS — روشن، مگر اینکه از پورت 465 استفاده میکنید
⭐ برای این کار یک صندوق پستی یا کاربر ارسال (submission user) اختصاصی ایجاد کنید، به جای اینکه از اطلاعات ورود یک شخص استفاده نمایید. هنگامی که فردی مجموعه را ترک میکند و گذرواژهاش تغییر مییابد، نباید اعلانهای ارسالی به مشتریان شما متوقف شوند.
ارسال پیام آزمایشی و وارد کردن کد
گزینهٔ Send test message را به مقصد صندوق ورودی دامنهای دیگر بزنید، کد را از داخل آن بخوانید و وارد کنید.
مواقعی که فرایند به درستی کار نمیکند
"The mail server rejected the username or password" — احراز هویت SMTP ناموفق بود. اگر ارائهدهندهٔ شما احراز هویت دو مرحلهای را روی حساب فعال دارد، به احتمال بسیار زیاد به جای گذرواژهٔ ورود به یک app password نیاز دارید.
"Could not reach host:port" — پورت مسدود است، نام میزبان اشتباه است، یا سرور روی آن پورت برای دریافت درخواستهای ارسال آماده به کار نیست. اجرای telnet smtp.yourprovider.com 587 از دستگاهی دیگر مشخص میکند علت چیست.
خطای TLS — گواهی سرور شما منقضی شده است، خودامضا (self-signed) است، یا با نام میزبانی که وارد کردهاید همخوانی ندارد. ما گواهیها را اعتبارسنجی میکنیم و این بررسی را نادیده نخواهیم گرفت؛ گواهی را اصلاح کنید.
"The mail server refused the recipient" — سرور شما برای رله کردن از این فرستنده پیکربندی نشده است، که معمولاً به این معنی است که کاربر احراز هویت شده مجاز به ارسال پیام با عنوان دامنهٔ ارسالی شما نیست.
ایمیل ارسال میشود اما همهچیز در هرزنامه قرار میگیرد — مشکل از DNS است، نه SMTP. موارد SPF، DKIM، DMARC و reverse DNS را در بالا گامبهگام بررسی کنید، سپس ارزیابی mail-tester را دوباره انجام دهید.