ฉันกำลังทำงานกับเครื่องมือที่ช่วยให้ผู้ใช้ส่งอีเมลได้ ฉันวางแผนที่จะใช้ MTA (Mail Transfer Agent) ในแบ็กเอนด์ เช่น AWS-SES หรือ Sendgrid เป็นต้น เพื่อให้อีเมลมาถึงกล่องจดหมายสูตรสำเร็จ ผู้ใช้จะต้องตั้งค่า DKIM/SPF โดยการกำหนดค่า DNS การตั้งค่าของโดเมนนั้นๆ
ตอนนี้ถ้าฉันยกตัวอย่าง SES ฉันรู้ว่าพวกเขา มี API ที่อนุญาตฉัน เพื่อเพิ่ม "ข้อมูลประจำตัว" และดึงข้อมูลระเบียน DNS ที่จำเป็นทั้งหมดกลับมาโดยใช้ API ฉันแน่ใจว่า Sendgrid และ MTA อื่นๆ มี API ที่คล้ายกันซึ่งอนุญาตให้เพิ่มข้อมูลระบุตัวตนและคืนระเบียน DNS เพื่อให้ผู้ใช้นำไปใช้ได้
ฉันแสดงการตั้งค่า DNS ของ DKIM ที่ส่งคืนแก่ผู้ใช้ และผู้ใช้เพิ่มการตั้งค่านี้ไปยังผู้ให้บริการ DNS ของพวกเขา และหลังจากนั้นเมื่อพวกเขาส่งอีเมล ผู้สร้างสูตรจะได้รับอย่างถูกต้อง (โดยไม่มีเนื้อหา "via amazonses.com" ในส่วนหัว)
ต่อไปนี้เป็นตัวอย่าง สมมติว่าเครื่องมือที่ฉันกำลังสร้างโฮสต์อยู่บน Chillybilly.xyz และหนึ่งในผู้ใช้ที่ใช้เครื่องมือของฉัน พวกเขามีโดเมนชื่อ frankthetank.xyz ซึ่งพวกเขาต้องการใช้เพื่อส่งอีเมลผ่านแพลตฟอร์มของฉัน .
เมื่อผู้ใช้พยายามยืนยันโดเมนของตนผ่านแพลตฟอร์มของฉัน ฉันจะกด API ที่กล่าวถึงข้างต้นใน AWS SES - และแสดงสิ่งนี้แก่ผู้ใช้:
หลังจากนั้นพวกเขาสามารถเพิ่มบันทึก CNAMES และ TXT เหล่านี้สำหรับ DKIM/SPF ที่ประสบความสำเร็จ และเริ่มส่งอีเมลได้ แต่ถ้าคุณมองอย่างใกล้ชิด พวกเขาจะเห็นว่าฉันใช้ SES เนื่องจากค่าของระเบียน CNAMES และ TXT เหล่านั้น และนั่นคือสิ่งที่ฉันต้องการหลีกเลี่ยง แต่ฉันต้องการเรียกสิ่งเหล่านั้นแทน 7nuk24xywyawocu6ctqjxmjasiaiq3vq.dkim.chillybilly.xyz
ซึ่งจะแสดงแบรนด์ของฉัน แต่ในพื้นหลังนั้นจะยังคงชี้ไปที่ SES ที่ถูกต้อง
ตอนนี้ฉันรู้แล้วว่าสิ่งนี้เป็นไปได้ เพราะตอนที่ฉันสมัครใช้งาน ConvertKit พวกเขาแสดงให้ฉันเห็นดังนี้:
อย่างที่คุณเห็นค่าสองค่านั้นชี้ไปที่ converkit.com แต่เมื่อฉันเรียกใช้ผ่านการค้นหา DNS:
https://dnschecker.org/all-dns-records-of-domain.php?query=spf.dm-5mk8zo6m.sg7.convertkit.com.&rtype=ALL&dns=google
https://dnschecker.org/all-dns-records-of-domain.php?query=dkim.dm-5mk8zo6m.sg7.convertkit.com.&rtype=ALL&dns=google
ฉันเห็นว่าในพื้นหลังนั้นชี้ไปที่ระเบียน MX และ TXT ที่เป็นของ Sendgrid ฉันจะบรรลุสิ่งนี้ได้อย่างไร (ฉันเชื่อว่าหลักการเดียวกันนี้จะนำไปใช้กับ SES หรือ MTA อื่นๆ ด้วย)
แก้ไข:
ฉันลองสองสามอย่าง - และฉันตั้งค่า CNAME, MX และ TXT ใน Chillybilly.xyz (โดเมนของโครงการของฉัน) และฉันชี้ CNAMES สองรายการจาก frankthetank.xyz ที่ชื่อว่า spf.frankthetank.xyz
และ dkim.frankthetankxyz
https://dnschecker.org/all-dns-records-of-domain.php?query=spf.frankthetank.xyz&rtype=ALL&dns=google
https://dnschecker.org/all-dns-records-of-domain.php?query=dkim.frankthetank.xyz&rtype=ALL&dns=google
อย่างที่คุณเห็น ฉันสามารถบรรลุผลลัพธ์ที่คล้ายคลึงกันมากกับสิ่งที่ ConvertKit ทำกับ Sendgrid แต่ไม่ได้รับการตรวจสอบด้วยวิธีนี้ :(
ข้อแตกต่างเดียวที่ฉันเห็นเมื่อตรวจสอบการค้นหา DNS (ลิงก์ด้านบน) คือ CNAME ปรากฏในการค้นหาสำหรับฉันด้วย แต่ไม่ใช่ในกรณีของ Convertkit ฉันคิดว่าฉันใกล้จะแก้ปัญหาได้แล้ว แต่ไม่แน่ใจว่าขาดอะไรไป มีความคิดเห็นอย่างไร :)