پایگاه دانش

ارسال ایمیل از طریق حساب Amazon SES خود

حساب Amazon SES خود را از طریق SMTP متصل کنید: انتخاب یک منطقه و ماندن در آن، Easy DKIM، خروج از سندباکس پیش از اتصال، و اینکه چرا اطلاعات ورود SMTP کلید دسترسی AWS شما نیست.

شما به یک حساب AWS و دسترسی به DNS دامنه خود نیاز خواهید داشت. SES ارزان‌ترین گزینه در این فهرست با اختلاف زیاد، و گزینه‌ای است که بیشترین مراحل را دارد.

مستندات اختصاصی Amazon: تایید یک دامنه · دریافت اعتبارنامه‌های SMTP · خروج از محیط سندباکس

ما از طریق رابط SMTP آن، نه API REST آن، به SES متصل می‌شویم. به همین دلیل است که به جای کلید دسترسی AWS، نام کاربری و رمز عبور SMTP از شما خواسته می‌شود. هر دو روش دقیقا همان پیام را ارسال می‌کنند؛ روش SMTP از یک دسته کامل از مشکلات امضای درخواست AWS که عیب‌یابی آن‌ها از بیرون بسیار دشوار است جلوگیری می‌کند، و این همان رابطی است که Amazon دقیقا برای استفاده ابزارهایی مانند ابزار ما، اعتبارنامه‌های آن را منتشر می‌کند.

۱. یک منطقه را انتخاب کنید و در همان بمانید

SES منطقه‌ای است. هر چیزی در زیر — دامنه تایید شده شما، اعتبارنامه‌های شما، سهمیه ارسال شما — متعلق به یک منطقه AWS است و در هیچ منطقه دیگری وجود ندارد.

نزدیک‌ترین منطقه به مشتریان خود را انتخاب کنید (eu-west-1 برای اروپا، us-east-1 برای آمریکای شمالی) و آن را یادداشت کنید. تایید دامنه خود در ایرلند و سپس ایجاد اعتبارنامه در فرانکفورت رایج‌ترین راه برای از دست دادن یک بعدازظهر در اینجا است، و خطایی که تولید می‌کند هیچ اشاره‌ای به مناطق نمی‌کند.

۲. دامنه خود را تایید کنید

کنسول Amazon SES ← هویت‌ها (Identities) ← ایجاد هویت (Create identity) ← دامنه (Domain). یک زیردامنه مانند mail.yourdomain.com را وارد کنید.

گزینه DKIM آسان (Easy DKIM) را روشن کرده و RSA_2048_BIT را انتخاب کنید. SES سه رکورد CNAME به شما می‌دهد:

| نوع | میزبان | | --- | --- | | CNAME | <token1>._domainkey.mail.yourdomain.com | | CNAME | <token2>._domainkey.mail.yourdomain.com | | CNAME | <token3>._domainkey.mail.yourdomain.com |

هر سه را اضافه کنید. فرآیند تایید معمولا ظرف یک ساعت تکمیل می‌شود.

⭐ همچنین یک دامنه سفارشی MAIL FROM (bounce.mail.yourdomain.com) را فعال کنید و رکوردهای MX و SPF TXT مورد درخواست آن را اضافه کنید. بدون آن، فرستنده پاکت‌نامه شما amazonses.com است، بنابراین SPF به جای شما با Amazon هم‌راستا می‌شود و شما تنها به DKIM متکی هستید.

۳. از سندباکس خارج شوید — این همان مرحله‌ای است که افراد آن را فراموش می‌کنند

⛔⛔ یک حساب کاربری جدید SES در سندباکس است و فقط می‌تواند به آدرس‌هایی که به‌طور جداگانه تایید کرده‌اید ارسال کند. هر چیز دیگری را می‌پذیرد و هیچ‌کدام را تحویل نمی‌دهد.

این دقیقا همان خطایی است که مرحله تایید ما برای تشخیص آن وجود دارد: در سندباکس، SES پیام شما را با یک پاسخ موفقیت‌آمیز کاملا عادی می‌پذیرد و سپس آن را حذف می‌کند. اگر راه‌اندازی ما را با ارسال تست به آدرسی که اتفاقاً در AWS تایید کرده‌اید تأیید کنید، کار خواهد کرد — و سپس هر پیامی به یک مشتری واقعی ناپدید خواهد شد.

داشبورد حساب ← درخواست دسترسی به محیط تولید (Request production access). Amazon می‌پرسد چه چیزی ارسال می‌کنید و چگونه با برگشت‌خورده‌ها (bounces) برخورد می‌کنید؛ چند جمله صادقانه درباره اعلان‌های تراکنشی به مشتریان خودتان معمولاً ظرف ۲۴ ساعت تأیید می‌شود.

⭐ این کار را قبل از اتصال SES در اینجا انجام دهید. پس از آن چیزی برای عیب‌یابی وجود ندارد، زیرا هیچ چیزی با خطا مواجه نمی‌شود.

۴. ایجاد اعتبارنامه‌های SMTP

کنسول SES ← تنظیمات SMTP (SMTP settings) ← ایجاد اعتبارنامه‌های SMTP (Create SMTP credentials).

این کار یک کاربر IAM با مجوز فقط-ارسال ایجاد می‌کند و یک نام کاربری SMTP و یک رمز عبور SMTP به شما می‌دهد.

این موارد کلید دسترسی و رمز مخفی AWS شما نیستند. آن‌ها از یک کلید مخفی IAM با یک الگوریتم خاص مشتق شده‌اند و قابل جایگزینی با یکدیگر نیستند. جای‌گذاری کلید دسترسی مخفی AWS در اینجا هر بار با شکست احراز هویت مواجه خواهد شد و خطا صرفاً می‌گوید که اعتبارنامه‌ها رد شده‌اند.

⚠️ رمز عبور فقط یک بار نمایش داده می‌شود. قبل از ترک صفحه، فایل CSV را دانلود کنید.

۵. اتصال آن در Zinn®

بخش ارسال ایمیل (Email sending) را در داشبورد خود باز کنید:

  • ارائه‌دهنده (Provider) — Amazon SES
  • ارسال از این دامنه (Send from this domain)mail.yourdomain.com
  • منطقه AWS (AWS region) — منطقه حاصل از مرحله ۱، به عنوان مثال eu-west-1
  • نام کاربری SMTP (SMTP username) — حاصل از مرحله ۴
  • پورت (Port) — روی ۵۸۷ باقی بگذارید
  • رمز عبور SMTP مربوط به SES (SES SMTP password) — حاصل از مرحله ۴

ما میزبان را برای شما می‌سازیم (email-smtp.<region>.amazonaws.com)، بنابراین هیچ نام میزبانی برای تایپ اشتباه وجود ندارد.

۶. ارسال تست و وارد کردن کد

دکمه ارسال پیام آزمایشی (Send test message) را فشار دهید تا به یک صندوق ورودی در دامنه‌ای متفاوت که در AWS تایید نکرده‌اید ارسال شود — یک آدرس شخصی Gmail ایده‌آل است، زیرا این همان چیزی است که ثابت می‌کند از سندباکس خارج شده‌اید. کد را بخوانید و آن را وارد کنید.

وقتی کار نمی‌کند

«آدرس ایمیل تایید نشده است» (Email address is not verified) هنگام ارسال به یک مشتری واقعی — شما هنوز در سندباکس هستید. مرحله ۳.

اعتبارنامه‌های احراز هویت ۵۳۵ نامعتبر است (535 Authentication Credentials Invalid) — شما به جای اعتبارنامه‌های SMTP از کلید دسترسی AWS خود استفاده کرده‌اید (مرحله ۴)، یا اعتبارنامه‌ها متعلق به منطقه‌ای متفاوت از منطقه‌ای است که وارد کرده‌اید.

«حداکثر نرخ ارسال فراتر رفته است» (Maximum sending rate exceeded) — یک حساب تولیدی جدید با ۱۴ پیام در ثانیه و ۵۰,۰۰۰ پیام در روز شروع می‌شود. این مقدار زیادی از اعلان‌ها است، اما اگر در حال انتقال یک پایگاه مشتری بزرگ هستید، ابتدا درخواست افزایش دهید.

در آزمایش کار کرد و در محیط تولید متوقف شد — داشبورد اعتبار (Reputation) در SES را بررسی کنید. Amazon وقتی نرخ برگشت‌خوردگی یا شکایت از آستانه آن‌ها عبور کند، ارسال را به‌طور خودکار متوقف می‌کند و عبور از آن با یک لیست مشتری قدیمی آسان است.

هنوز مشکل دارید؟

پشتیبانی در تمامی پلن‌ها گنجانده شده است و پاسخ‌ها به زبان خود شما ارائه می‌شوند.

تماس با پشتیبانی همه مقالات
ارسال ایمیل از طریق حساب Amazon SES خود