Email Spam Tester

Home › การเชื่อมต่อ › คู่มือ › Amazon SES

คู่มือ · ไม่ต้องเชื่อมต่อ

การทดสอบอีเมล Amazon SES

SES ส่งทุกอย่างตามที่คุณระบุและแทบไม่เพิ่มอะไรเอง จึงทดสอบได้ง่ายหากบัญชีของคุณออกจาก sandbox แล้ว และปัญหาส่วนใหญ่ที่รายงานพบจะเป็นสิ่งที่คุณต้องแก้เอง

คู่มือ · Amazon SES

ทดสอบอีเมลจาก Amazon SES

หนึ่งที่อยู่ หนึ่งอีเมล ใช้ได้หนึ่งชั่วโมง ไม่ต้องมีบัญชีหรือคีย์ API

รับที่อยู่อีเมลทดสอบ

ขั้นตอนที่ 1

ยืนยันตัวตนของโดเมน

Easy DKIM: CNAME สามรายการ ใช้ซับโดเมน MAIL FROM แบบกำหนดเองหากคุณต้องการให้ SPF สอดคล้องด้วย

ขั้นตอนที่ 2

ส่งอีเมลจริงหนึ่งฉบับไปยังที่อยู่อีเมลทดสอบ

ใช้ aws sesv2 send-email จาก Region ที่มีสิทธิ์ใช้งานจริง หนึ่งที่อยู่ หนึ่งข้อความ หนึ่งชั่วโมง

ขั้นตอนที่ 3

อ่านรายงาน

คาดว่า SPF จะผ่านสำหรับ amazonses.com แต่แสดงว่าไม่สอดคล้อง ส่วน DMARC จะผ่านด้วย DKIM คุณต้องเพิ่มเฮดเดอร์ยกเลิกการสมัครเอง

ตรวจสอบ sandbox ก่อน เพราะสถานะนี้เป็นตัวกำหนดว่าการส่งจะใช้งานได้หรือไม่ บัญชี SES ใหม่จะเริ่มต้นใน sandbox ในทุก Region และระหว่างที่ยังอยู่ใน sandbox นั้น SES จะส่งอีเมลได้เฉพาะไปยังที่อยู่อีเมลที่ยืนยันแล้ว, โดเมนที่ยืนยันแล้ว และ mailbox simulator ของ SES เท่านั้น นอกจากนี้ยังจำกัดการส่งไว้ที่ 200 ข้อความต่อ 24 ชั่วโมง และหนึ่งข้อความต่อวินาที

การยืนยันที่อยู่อีเมลของ Email Spam Tester ไม่ช่วยให้คุณข้ามข้อจำกัดนี้ได้ SES ยืนยันผู้รับด้วยการส่งอีเมลที่มีลิงก์ไปให้ และเนื่องจากที่อยู่อีเมลของเรารับข้อความได้เพียงหนึ่งข้อความก่อนปิด อีเมลยืนยันจึงเป็นข้อความที่ใช้สิทธิ์นั้นหมดไป ในทางปฏิบัติ คุณจึงต้องมีสิทธิ์เข้าถึง production ใน Region ที่คุณใช้ส่ง AWS ระบุว่าจะตอบกลับคำขอครั้งแรกภายใน 96 ชั่วโมง

เนื่องจากสถานะ sandbox แยกกันในแต่ละ Region บัญชีที่อยู่ใน production ใน eu-west-1 อาจยังอยู่ใน sandbox ใน us-east-1 และ identity ก็แยกตาม Region เช่นกัน โดยแต่ละ identity มีระเบียน DKIM ของตัวเอง

รับที่อยู่ แล้วส่งข้อความหนึ่งฉบับ

เปิด email-spam-tester.com แล้วคัดลอกที่อยู่ที่แสดง ที่อยู่นี้ไม่ต้องใช้บัญชีหรือ API key และมีรูปแบบเป็น test- ตามด้วยอักขระยี่สิบตัวที่ t.email-spam-tester.com คุณมีเวลาหนึ่งชั่วโมงและส่งได้หนึ่งข้อความ ดังนั้นให้เตรียมคำสั่งส่งให้พร้อมก่อนดึงที่อยู่

วิธีส่งที่สั้นที่สุดคือใช้ CLI ซึ่งปรับมาจากตัวอย่างของ AWS ในหน้า SES tenants โดยตัดแฟล็ก tenant และ configuration set ออก:

aws sesv2 send-email \
  --from-email-address "sender@yourdomain.com" \
  --destination "ToAddresses=test-xxxxxxxxxxxxxxxxxxxx@t.email-spam-tester.com" \
  --content "Simple={Subject={Data='Test Subject',Charset=utf-8},Body={Text={Data='Test email body',Charset=utf-8}}}"

From ต้องเป็น identity ที่ยืนยันแล้ว แม้จะใช้งานใน production ก็ตาม เนื้อหาแบบข้อความล้วนเพียงพอสำหรับทดสอบการยืนยันตัวตนและ IP แต่แทบไม่บอกอะไรเกี่ยวกับเนื้อหาเลย หากต้องการผลประเมินจริง ให้ส่งข้อความที่แอปพลิเคชันของคุณส่งจริง พร้อมส่วน HTML และส่วนหัว และควรใช้เส้นทางโค้ดเดียวกันด้วย ไม่ว่าจะเป็น send_email ของ boto3, ไลบรารี SMTP หรือวิธีอื่น หากการส่งใน production ใช้ configuration set ให้เพิ่ม --configuration-set-name ที่นี่ด้วย เพื่อให้การทดสอบผ่านการตั้งค่าเดียวกัน

การทดสอบกล่องขาเข้าใช้คำสั่งเดียวกันได้ ให้ใส่กล่องขาเข้าของผู้ให้บริการใน ToAddresses ถัดจากที่อยู่ทดสอบ และใส่ marker ของการทดสอบในข้อมูล Subject การเรียกหนึ่งครั้งจะสร้างรายงานสองฉบับ โดยรายงานฉบับที่สองระบุโฟลเดอร์ที่ข้อความไปอยู่ใน Gmail, Outlook, Yahoo และผู้ให้บริการอื่นๆ กล่องขาเข้าเหล่านั้นไม่ได้รับการยืนยันเช่นกัน ดังนั้นวิธีนี้จึงต้องมีสิทธิ์ใช้งาน production ด้วย

นอกจากนี้ยังทำผ่าน console ได้ เปิด Configuration > Identities คลิก identity แล้วเลือก Send test email จากนั้นเลือก Raw หากคุณต้องการวางข้อความ MIME แบบเต็มพร้อมส่วนหัวของคุณเอง AWS ระบุว่าโดยทั่วไป console เป็นเครื่องมือที่ใช้เฉพาะกับอีเมลทดสอบ และเอกสารไม่ได้ระบุ test prefix หรือการเปลี่ยนแปลงอื่นใดกับข้อความ ใน sandbox ช่อง Custom recipient ต้องใช้ที่อยู่ที่ยืนยันแล้ว ซึ่งทำให้กลับไปติดปัญหาเดิมข้างต้น

ข้อมูลประจำตัว SES ใหม่จะแสดงอย่างไรในรายงาน

จากรายงาน · การยืนยันตัวตน

  • SPFผ่านไม่สอดคล้องMAIL FROM เป็นโดเมนย่อยของ amazonses.com ไม่ใช่โดเมนของคุณ
  • DKIMผ่านสอดคล้องEasy DKIM ลงลายเซ็นทุกข้อความด้วยคีย์ 2048 บิตบนโดเมนของคุณ
  • DMARCผ่านผ่านด้วยลายเซ็น DKIM ที่สอดคล้องกัน หลังจากคุณเผยแพร่ระเบียน DMARC

ข้อมูลประจำตัว SES เริ่มต้น: SPF ผ่าน แต่ผ่านสำหรับ amazonses.com ส่วน MAIL FROM แบบกำหนดเองจะทำให้ SPF สอดคล้องกับโดเมนของคุณ

DKIM Easy DKIM เป็นค่าเริ่มต้นสำหรับข้อมูลประจำตัวแบบโดเมน และลงลายเซ็นทุกข้อความด้วยคีย์ 2048 บิต การตั้งค่าประกอบด้วยระเบียน CNAME สามรายการชื่อ token._domainkey.yourdomain.com ซึ่งชี้ไปที่ token.dkim.<region>.amazonses.com หากการตรวจสอบ DKIM ไม่ผ่าน ให้ตรวจสอบสองอย่างก่อน: DNS อัปเดตครบแล้วหรือยัง (AWS ระบุว่าอาจใช้เวลาสูงสุด 72 ชั่วโมง) และโฮสต์ DNS ของคุณเติมโดเมนต่อท้ายชื่อจนสร้างเป็น token._domainkey.yourdomain.com.yourdomain.com หรือไม่ หากใช้ BYODKIM คุณจะเผยแพร่ระเบียน TXT หนึ่งรายการที่ selector ของคุณเองแทน ระหว่างเปลี่ยนจากวิธีหนึ่งไปเป็นอีกวิธีหนึ่ง SES อาจส่งโดยไม่มีลายเซ็นเลย ซึ่งรายงานจะระบุว่าไม่มี DKIM เครื่องมือตรวจสอบ DKIM ใช้โทเค็นเป็น selector

SPF และเส้นทางส่งกลับ ตามค่าเริ่มต้น SES ใช้โดเมนย่อยของ amazonses.com เป็น MAIL FROM โดย SPF ผ่าน แต่ผ่านสำหรับ amazonses.com รายงานจึงแสดงว่า SPF ไม่สอดคล้องกับ From ของคุณ เมื่อ DKIM สอดคล้องกัน เรื่องนี้จะเสียคะแนนเพียงเล็กน้อย (2 คะแนนจากคะแนนเต็ม 100 แทนที่จะเป็น 5 คะแนน) และ DMARC ยังคงผ่านด้วย DKIM หากต้องการให้ SPF สอดคล้องด้วย ให้ตั้งค่าโดเมนย่อย MAIL FROM แบบกำหนดเองโดยมีระเบียน MX เพียงรายการเดียวคือ 10 feedback-smtp.<region>.amazonses.com และระเบียน TXT v=spf1 include:amazonses.com ~all อย่าเลือกโดเมนย่อยที่ใช้รับอีเมล และอย่าใส่ aspf=s ในระเบียน DMARC เพราะ AWS ระบุว่าการจัดแนว SPF กับ SES ใช้งานไม่ได้ภายใต้นโยบาย SPF แบบเข้มงวด

DMARC SES ไม่ได้เผยแพร่ระเบียนนี้ให้คุณ ตัวอย่างของ AWS คือ v=DMARC1;p=quarantine;rua=mailto:my_dmarc_report@example.com หากยังไม่มีใครอ่านรายงาน DMARC ของคุณ ผมแนะนำให้เริ่มด้วย p=none แล้วค่อยเพิ่มความเข้มงวดภายหลัง เครื่องมือตรวจสอบ DMARC จะแสดงการตั้งค่าปัจจุบันของคุณ และ DMARC fail อธิบายปัญหาที่พบบ่อย

ค่าตัวอย่าง คัดลอกค่าจริงจากบัญชีของคุณ

ชื่อประเภทค่าใช้สำหรับคัดลอก
token._domainkey.yourdomain.comCNAMEtoken.dkim.<region>.amazonses.comEasy DKIM มีสามรายการ รายการละหนึ่งโทเค็น
mail.yourdomain.comMX10 feedback-smtp.<region>.amazonses.comMAIL FROM แบบกำหนดเอง ต้องมีระเบียน MX เพียงรายการเดียวบนโดเมนย่อยที่ไม่รับอีเมล
mail.yourdomain.comTXTv=spf1 include:amazonses.com ~allSPF สำหรับ MAIL FROM แบบกำหนดเอง เพื่อให้ SPF สอดคล้องกับ From ของคุณ
_dmarc.yourdomain.comTXTv=DMARC1;p=quarantine;rua=mailto:my_dmarc_report@example.comDMARC ตามตัวอย่างของ AWS เริ่มด้วย p=none หากยังไม่มีใครอ่านรายงาน และไม่ต้องใส่ aspf=s

List-Unsubscribe SES เพิ่ม List-Unsubscribe และ List-Unsubscribe-Post เฉพาะเมื่อคุณส่งโดยใช้ ListManagementOptions ที่ชี้ไปยังรายชื่อผู้ติดต่อและหัวข้อเท่านั้น แม้ในกรณีนั้น ระบบจะเพิ่มให้เฉพาะข้อความที่มีผู้รับคนเดียวและใช้ Easy DKIM เท่านั้น และ SES จะเขียนทับส่วนหัวยกเลิกการสมัครที่คุณตั้งค่าเอง ข้อความอื่นทั้งหมดจะถูกส่งโดยไม่มีส่วนหัวสำหรับยกเลิกการสมัครเลย สำหรับจดหมายข่าว หมายความว่าการตรวจสอบ List-Unsubscribe และการตรวจสอบการยกเลิกการสมัครด้วยคลิกเดียวจะไม่ผ่าน เว้นแต่คุณจะเพิ่มส่วนหัวเหล่านี้เอง ตั้งแต่เดือนมีนาคม 2024 เป็นต้นมา v2 API รองรับส่วนหัวแบบกำหนดเองโดยไม่ต้องใช้ MIME แบบ raw ส่วนหัวสองรายการต่อไปนี้ดัดแปลงจากบล็อกโพสต์ของ AWS เกี่ยวกับการยกเลิกการสมัครด้วยคลิกเดียว:

"Headers": [
  { "Name": "List-Unsubscribe",
    "Value": "<https://yourdomain.com/unsub?address=x&topic=x>, <mailto:unsubscribe@yourdomain.com>" },
  { "Name": "List-Unsubscribe-Post",
    "Value": "List-Unsubscribe=One-Click" }
]

จากนั้น endpoint ของคุณต้องรองรับ POST ส่วนการรีเซ็ตรหัสผ่านและใบเสร็จที่ไม่มีส่วนหัวของรายการเป็นอีกกรณีหนึ่ง ซึ่งรายงานจะระบุกลุ่มผู้ส่งจำนวนมากว่าข้ามการตรวจสอบ อ่านเพิ่มเติมเกี่ยวกับส่วนหัวนี้ได้ที่ หน้า List-Unsubscribe ของเรา

IP และรายการบล็อก

บัญชีใหม่จะส่งอีเมลจาก IP ที่ใช้ร่วมกับผู้ใช้ SES รายอื่น และ AWS แนะนำให้ใช้ IP เหล่านี้ต่อไป เว้นแต่คุณจะมีปริมาณการส่งสูงและสม่ำเสมอ รายงานจะตรวจสอบ IP ที่ใช้ส่งกับรายการบล็อก 21 รายการ สำหรับที่อยู่แบบใช้ร่วมกัน หากพบ IP ในรายการบล็อก ปัญหานั้นจะเป็นของกลุ่ม IP ส่วน IP เฉพาะมีให้เลือกแบบ Standard ซึ่งคุณต้องวอร์มอัปด้วยตนเอง หรือแบบ Managed ซึ่ง SES จะจัดการการวอร์มอัปให้ และการติดรายการบล็อกจะเชื่อมโยงกับการส่งของคุณเองโดยตรง คุณสามารถนำ IP ที่พบในแท็บ Headers ไปตรวจสอบในเครื่องมือตรวจสอบรายการบล็อกได้ทันที

AWS ตรวจสอบบัญชีของคุณด้วย คำถามที่พบบ่อยเกี่ยวกับการบังคับใช้นโยบายระบุว่า คุณควรทดสอบกับที่อยู่จริงที่รับอีเมลได้ หรือใช้เครื่องมือจำลอง เพื่อไม่ให้ผู้รับที่สร้างขึ้นทำให้อัตราตีกลับเพิ่มขึ้น และ AWS จะตรวจสอบบัญชีเมื่ออัตราตีกลับถึง 5% หรืออัตราการร้องเรียนถึง 0.1%

แผนการแก้ไขด้านล่างจะแสดงการเปลี่ยนแปลงสูงสุดแปดรายการ โดยแต่ละรายการจะมีระเบียน DNS ให้คัดลอกในกรณีที่ต้องใช้ ตัวเลขคะแนนข้างการแก้ไขแต่ละรายการคือคะแนนที่ถูกหักในปัจจุบันจากการตรวจสอบที่เกี่ยวข้อง โมเดลจะเลือกและอธิบายวิธีแก้ไข แต่ไม่ได้ประเมินราคา หากคุณไม่เข้าใจชื่อการตรวจสอบใด เอกสารจะอธิบายการตรวจสอบทั้ง 42 รายการ

คำถาม

ฉันทดสอบจาก SES sandbox ได้หรือไม่

ทดสอบกับที่อยู่อีเมลของเราไม่ได้ ใน sandbox นั้น SES จะส่งอีเมลให้เฉพาะผู้รับที่ยืนยันแล้ว และการยืนยันที่อยู่อีเมลของเราจะใช้โควตาข้อความเดียวที่ระบบยอมรับ คุณควรขอสิทธิ์ใช้งานจริงสำหรับ Region และระหว่างนี้ให้ตรวจสอบระเบียนของคุณด้วยเครื่องมือตรวจสอบ DKIM, SPF และ DMARC ฟรี

SES mailbox simulator ให้ข้อมูลแบบเดียวกันหรือไม่

ไม่ เครื่องมือนี้บอกคุณว่า SES จัดการการตีกลับ การร้องเรียน หรือการส่งสำเร็จอย่างไร และคิดค่าบริการเหมือนการส่งตามปกติ แต่ไม่ได้วิเคราะห์ส่วนหัว การยืนยันตัวตน หรือเนื้อหาของคุณ

ฉันควรใส่ SES ในระเบียน SPF ของโดเมนรากหรือไม่

ผู้รับจะตรวจสอบ SPF กับโดเมน MAIL FROM ซึ่งโดยค่าเริ่มต้นเป็นโดเมนย่อยของ amazonses.com หรือเป็นโดเมนย่อย MAIL FROM แบบกำหนดเองของคุณ ระเบียน SPF สำหรับ SES ต้องอยู่ในโดเมนย่อยนั้น และตามที่ระบุไว้ในหน้า MAIL FROM ไม่จำเป็นต้องตั้งค่าใดๆ บนโดเมนราก

คู่มือสำหรับแพลตฟอร์มอื่น

การผสานการทำงานและคู่มือทั้งหมด →

ทดสอบอีเมลตอนนี้

หนึ่งที่อยู่ หนึ่งอีเมล ใช้ได้หนึ่งชั่วโมง ไม่ต้องมีบัญชี รายงานจะสร้างขึ้นเองเมื่อการตรวจสอบแต่ละรายการเสร็จสิ้น

รับที่อยู่อีเมลทดสอบ