فنی · پاسخ مستند
endpoint سرویس AWS SES چیست؟
endpoint سرویس AWS SES به region میزبان حساب شما و روش اتصال بستگی دارد. برای درخواستهای API، endpoint از قالب email.region.amazonaws.com پیروی میکند. برای SMTP، endpoint از قالب email-smtp.region.amazonaws.com پیروی میکند. باید از endpoint مربوط به همان regionی استفاده کنید که هویتهای خود را در آن تأیید کردهاید.
endpointهای API
endpointهای API سرویس AWS SES وابسته به region هستند. برای مثال، اگر هویت SES شما در US East (N. Virginia) پیکربندی شده باشد، endpoint برابر email.us-east-1.amazonaws.com است. اگر در US West (Oregon) پیکربندی شده باشد، از email.us-west-2.amazonaws.com استفاده کنید. این endpointها برای درخواستهای HTTPS از طریق AWS SDK یا CLI به کار میروند تا هویتها را مدیریت کنید، ایمیل ارسال کنید و قواعد دریافت را پیکربندی کنید.
endpointهای SMTP
endpointهای SMTP برای ارسال ایمیل از طریق Simple Mail Transfer Protocol استفاده میشوند. قالب آنها email-smtp.region.amazonaws.com است. برای مثال، endpoint پروتکل SMTP در US East (N. Virginia) برابر email-smtp.us-east-1.amazonaws.com است. این endpointها از احراز هویت استاندارد SMTP پشتیبانی میکنند و بسته به پیکربندی TLS مورداستفاده، معمولاً از طریق پورتهای 25، 465 یا 587 در دسترساند.
انتخاب region
نمیتوانید از طریق endpoint در regionی ایمیل ارسال کنید که دامنه یا نشانی ایمیل خود را در آن تأیید نکردهاید. اگر تلاش کنید از endpoint یک region دیگر استفاده کنید، API خطای InvalidParameterValue یا خطایی مشابه برمیگرداند. همیشه مطمئن شوید پیکربندی برنامه شما با regionی که دسترسی محیط عملیاتی (production access) سرویس SES در آن اعطا شده مطابقت دارد.
امنیت اتصال
هنگام اتصال به endpointهای SES، سرویس AWS اتصال امن را الزامی میکند. برای SMTP یعنی استفاده از STARTTLS یا TLS ضمنی. برای فراخوانیهای API، استفاده از HTTPS الزامی است. توسعهدهندگان میتوانند با ابزارهای رایگان SendHQ (https://sendhq.cc/tools) بررسی کنند که رکوردهای DNS آنها مانند SPF و DKIM بهدرستی با پیکربندی SES همراستا هستند تا تحویل تضمین شود.
عیبیابی endpoint
اگر با timeout اتصال روبهرو شدید، بررسی کنید شبکه شما ترافیک خروجی روی پورت انتخابشده را مجاز میداند. ارائهدهندگان ابری اغلب پورت 25 را برای جلوگیری از اسپم مسدود میکنند. برای STARTTLS از پورت 587 و برای TLS ضمنی از پورت 465 استفاده کنید. مطمئن شوید اعتبارنامههای AWS IAM شما مجوز ses:SendRawEmail یا ses:SendEmail را برای endpoint همان region دارند.
پرسشهایی که تیمها میپرسند
آیا میتوانم از یک endpoint سراسری برای AWS SES استفاده کنم؟
خیر، AWS SES یک endpoint سراسری واحد ارائه نمیدهد. باید endpoint منطقهای را مشخص کنید که هویتهای شما در آن تأیید شدهاند.
با endpoint پروتکل SMTP در SES از کدام پورت استفاده کنم؟
برای STARTTLS از پورت 587 و برای TLS ضمنی از پورت 465 استفاده کنید. پورت 25 در دسترس است اما اغلب توسط ISPها و ارائهدهندگان ابری مسدود میشود.
چگونه region مشخص SES خود را پیدا کنم؟
در AWS Management Console بخش داشبورد SES را بررسی کنید. region در گوشه بالا سمت راست کنسول یا در URL نمایش داده میشود.
اگر از endpoint نادرست استفاده کنم چه میشود؟
درخواست یا نمیتواند متصل شود یا خطایی برمیگرداند مبنی بر اینکه هویت در آن region مشخص تأیید نشده است.
منابع اصلی
- راهنمای توسعهدهندگان Amazon SES — Amazon Web Services
- رجیستری نام سرویسها و شماره پورتهای پروتکل انتقال — IANA