ตั้งค่าการยืนยันอีเมลด้วย Mailgun (Set up email verification with Mailgun email service)
ตัวเชื่อมต่อ Logto อย่างเป็นทางการสำหรับบริการอีเมล Mailgun
คู่มือนี้สมมติว่าคุณมีความเข้าใจพื้นฐานเกี่ยวกับ ตัวเชื่อมต่อ (Connectors) ของ Logto หากคุณยังไม่คุ้นเคย โปรดดูคู่มือ ตัวเชื่อมต่อ (Connectors) เพื่อเริ่มต้น
ข้อกำหนดเบื้องต้น
- บัญชี Mailgun
- คีย์ API จากบัญชี Mailgun ของคุณ ซึ่งต้องมีสิทธิ์ในการส่งข้อความ (อีเมล) ดูข้อมูลเพิ่มเติมได้ที่ Where Can I Find My API Key and SMTP Credentials?
การตั้งค่าพื้นฐาน
- กรอกช่อง
endpoint
เมื่อคุณใช้ Mailgun API endpoint ที่แตกต่างกัน เช่น ภูมิภาค EU ควรใช้https://api.eu.mailgun.net
ค่าเริ่มต้นคือhttps://api.mailgun.net
- กรอกช่อง
domain
ด้วยโดเมนที่คุณได้ลงทะเบียนไว้ในบัญชี Mailgun ของคุณ ค่านี้สามารถดูได้ในส่วน Domains ของแดชบอร์ด Mailgun โดเมนควรอยู่ในรูปแบบexample.com
โดยไม่ต้องมีคำนำหน้าhttps://
หรือhttp://
- กรอกช่อง
apiKey
ด้วยคีย์ API ที่คุณสร้างในบัญชี Mailgun ของคุณ - กรอกช่อง
from
ด้วยที่อยู่อีเมลที่คุณต้องการใช้ในการส่งอีเมล ที่อยู่อีเมลนี้ต้องลงทะเบียนในบัญชี Mailgun ของคุณ ที่อยู่อีเมลควรอยู่ในรูปแบบSender Name \<[email protected]>
การส่ง (Deliveries)
อ็อบเจกต์ config
ส่วน "Deliveries" ช่วยให้คุณกำหนดเนื้อหาของอีเมลที่จะส่งในแต่ละสถานการณ์ได้ เป็นแผนที่ JSON แบบ key-value โดยที่ key คือประเภทการใช้งาน และ value คืออ็อบเจกต์ที่มีการตั้งค่าเนื้อหาสำหรับอีเมลที่จะส่ง
{
"<usage-type>": {
// ...
}
}
ประเภทการใช้งาน (Usage types)
รองรับประเภทการใช้งานดังต่อไปนี้:
Register
: อีเมลที่จะส่งเมื่อผู้ใช้กำลังลงทะเบียนSignIn
: อีเมลที่จะส่งเมื่อผู้ใช้กำลังลงชื่อเข้าใช้ForgotPassword
: อีเมลที่จะส่งเมื่อผู้ใช้กำลังรีเซ็ตรหัสผ่านGeneric
: อีเมลที่จะส่งเมื่อผู้ใช้ดำเนินการทั่วไป เช่น ทดสอบตัวเชื่อมต่ออีเมล
หากไม่ได้ระบุประเภทการใช้งานใน config ของ deliveries จะใช้อีเมลแบบ generic แทน หากไม่ได้ระบุอีเมล generic ตัวเชื่อมต่อจะส่งคืนข้อผิดพลาด
การตั้งค่าเนื้อหา (Content config)
ตัวเชื่อมต่อรองรับทั้งเนื้อหา HTML โดยตรงและ Mailgun template คุณสามารถเลือกใช้อย่างใดอย่างหนึ่งสำหรับแต่ละประเภทการใช้งาน
ทั้งในหัวเรื่อง (subject) และเนื้อหา (content) คุณสามารถใช้ placeholder {{code}}
เพื่อแทรกรหัสยืนยันได้
หากต้องการใช้เนื้อหา HTML โดยตรง ให้กรอกช่องต่อไปนี้:
subject
: หัวเรื่องของอีเมลที่จะส่งreplyTo
: ที่อยู่อีเมลที่จะใช้เป็น reply-tohtml
: (จำเป็น) เนื้อหา HTML ของอีเมลที่จะส่งtext
: เวอร์ชันข้อความธรรมดาของอีเมลที่จะส่ง
หากต้องการใช้ Mailgun template ให้กรอกช่องต่อไปนี้:
subject
: หัวเรื่องของอีเมลที่จะส่งreplyTo
: ที่อยู่อีเมลที่จะใช้เป็น reply-totemplate
: (จำเป็น) ชื่อของ Mailgun template ที่จะใช้variables
: ตัวแปรที่จะส่งไปยัง Mailgun template ควรเป็นแผนที่ JSON แบบ key-value เพราะจะถูกแปลงเป็นสตริงก่อนส่งไปยัง Mailgun หมายเหตุว่าไม่จำเป็นต้องใส่ตัวแปรcode
เพราะตัวเชื่อมต่อจะเพิ่มให้อัตโนมัติ
ตัวอย่าง
ต่อไปนี้คือตัวอย่าง config ของ deliveries:
{
"Register": {
"subject": "{{code}} คือรหัสยืนยันของคุณ",
"replyTo": "Foo <[email protected]>",
"html": "<h1>ยินดีต้อนรับสู่ Logto</h1><p>รหัสยืนยันของคุณคือ {{code}}.</p>",
"text": "ยินดีต้อนรับสู่ Logto รหัสยืนยันของคุณคือ {{code}}."
},
"SignIn": {
"subject": "ยินดีต้อนรับกลับสู่ Logto",
"replyTo": "Foo <[email protected]>",
"template": "logto-sign-in",
"variables": {
"bar": "baz"
}
}
}
ทดสอบตัวเชื่อมต่ออีเมล Mailgun
คุณสามารถกรอกที่อยู่อีเมลแล้วคลิก "Send" เพื่อดูว่าการตั้งค่าสามารถใช้งานได้ก่อนที่จะ "Save and Done"
เพียงเท่านี้ อย่าลืม เปิดใช้งานตัวเชื่อมต่อในประสบการณ์การลงชื่อเข้าใช้