ข้ามไปยังเนื้อหาหลัก

ตั้งค่าการยืนยันอีเมลด้วย 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-to
  • html: (จำเป็น) เนื้อหา HTML ของอีเมลที่จะส่ง
  • text: เวอร์ชันข้อความธรรมดาของอีเมลที่จะส่ง

หากต้องการใช้ Mailgun template ให้กรอกช่องต่อไปนี้:

  • subject: หัวเรื่องของอีเมลที่จะส่ง
  • replyTo: ที่อยู่อีเมลที่จะใช้เป็น reply-to
  • template: (จำเป็น) ชื่อของ 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"

เพียงเท่านี้ อย่าลืม เปิดใช้งานตัวเชื่อมต่อในประสบการณ์การลงชื่อเข้าใช้