เชิงเทคนิค · คำตอบพร้อมแหล่งอ้างอิง

AWS SES endpoint คืออะไร

AWS SES endpoint ขึ้นอยู่กับภูมิภาคที่บัญชีของคุณโฮสต์อยู่และวิธีการเชื่อมต่อ สำหรับคำขอ API endpoint อยู่ในรูปแบบ email.region.amazonaws.com สำหรับ SMTP endpoint อยู่ในรูปแบบ email-smtp.region.amazonaws.com คุณต้องใช้ endpoint ที่ตรงกับภูมิภาคที่คุณยืนยันตัวตน (identity) ไว้

API endpoint

API endpoint ของ AWS SES เฉพาะตามภูมิภาค ตัวอย่างเช่น หาก SES identity ของคุณตั้งค่าใน 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 เพื่อจัดการ identity ส่งอีเมล และตั้งค่ากฎการรับ

SMTP endpoint

SMTP endpoint ใช้สำหรับส่งเมลผ่าน Simple Mail Transfer Protocol รูปแบบคือ email-smtp.region.amazonaws.com ตัวอย่างเช่น SMTP endpoint ของ US East (N. Virginia) คือ email-smtp.us-east-1.amazonaws.com endpoint เหล่านี้รองรับการยืนยันตัวตน SMTP มาตรฐาน และมักเข้าถึงผ่านพอร์ต 25, 465 หรือ 587 ขึ้นอยู่กับการตั้งค่า TLS ที่ใช้

การเลือกภูมิภาค

คุณส่งอีเมลผ่าน endpoint ของภูมิภาคที่คุณยังไม่ได้ยืนยันโดเมนหรือที่อยู่อีเมลไม่ได้ หากคุณพยายามใช้ endpoint จากภูมิภาคอื่น API จะส่งข้อผิดพลาด InvalidParameterValue หรือใกล้เคียง ตรวจสอบให้แน่ใจเสมอว่าการตั้งค่าแอปพลิเคชันตรงกับภูมิภาคที่ได้รับสิทธิ์ production ของ SES

ความปลอดภัยของการเชื่อมต่อ

เมื่อเชื่อมต่อกับ SES endpoint AWS กำหนดให้ใช้การเชื่อมต่อที่ปลอดภัย สำหรับ SMTP หมายถึงใช้ STARTTLS หรือ implicit TLS สำหรับการเรียก API จำเป็นต้องใช้ HTTPS นักพัฒนาใช้เครื่องมือฟรีของ SendHQ (https://sendhq.cc/tools) ตรวจสอบว่าเรคคอร์ด DNS อย่าง SPF และ DKIM สอดคล้องกับการตั้งค่า SES เพื่อให้แน่ใจว่าส่งถึง

การแก้ปัญหา endpoint

หากพบ timeout ในการเชื่อมต่อ ให้ตรวจสอบว่าเครือข่ายของคุณอนุญาตทราฟฟิกขาออกบนพอร์ตที่เลือก ผู้ให้บริการคลาวด์มักบล็อกพอร์ต 25 เพื่อป้องกันสแปม ใช้พอร์ต 587 สำหรับ STARTTLS หรือพอร์ต 465 สำหรับ implicit TLS ตรวจสอบให้แน่ใจว่าข้อมูลรับรอง AWS IAM ของคุณมีสิทธิ์ ses:SendRawEmail หรือ ses:SendEmail สำหรับ endpoint ของภูมิภาคนั้น

คำถามที่ทีมมักถาม

ใช้ endpoint สากลสำหรับ AWS SES ได้หรือไม่

ไม่ AWS SES ไม่มี endpoint สากลเดียว คุณต้องระบุ endpoint ของภูมิภาคที่ยืนยัน identity ของคุณไว้

ควรใช้พอร์ตใดกับ SES SMTP endpoint

ใช้พอร์ต 587 สำหรับ STARTTLS หรือพอร์ต 465 สำหรับ implicit TLS พอร์ต 25 ใช้ได้แต่มักถูก ISP และผู้ให้บริการคลาวด์บล็อก

จะหาภูมิภาค SES ของฉันได้อย่างไร

ดูที่ AWS Management Console ในแดชบอร์ด SES ภูมิภาคจะแสดงที่มุมขวาบนของคอนโซลหรือใน URL

จะเกิดอะไรขึ้นหากใช้ endpoint ผิด

คำขอจะเชื่อมต่อไม่ได้ หรือส่งข้อผิดพลาดที่ระบุว่า identity ยังไม่ได้รับการยืนยันในภูมิภาคนั้น

แหล่งข้อมูลหลัก