คุณอาจเคยได้ยินคำว่า SMTP และสงสัยว่ามันคืออะไร SMTP เป็นวิธีทั่วไปในการจัดการข้อความอีเมล
วันนี้ผมจะอธิบายว่า SMTP คืออะไร และวิธีใช้ SMTP provider อย่าง SendGrid เพื่อส่งอีเมลจากที่อยู่ของคุณ
SMTP คืออะไร?
SMTP หรือ Simple Mail Transfer Protocol เป็นวิธีที่เซิร์ฟเวอร์อินเทอร์เน็ตส่งข้อความอีเมล เมื่อคุณส่งอีเมลผ่านบัญชี Gmail ตัวอย่างเช่น ไคลเอ็นต์อีเมลของคุณใช้ SMTP ส่งข้อความนั้นไปยังเซิร์ฟเวอร์ เซิร์ฟเวอร์จากนั้นก็ใช้ SMTP ส่งต่อไปยังเซิร์ฟเวอร์ฝั่งรับ
โดยไม่เจาะลึกรายละเอียดทางเทคนิคมาก วิธีคิดที่ง่ายที่สุดคือ SMTP คือเซิร์ฟเวอร์อีเมล
SendGrid คืออะไร?
SendGrid เป็นผู้ให้บริการ SMTP – จริงๆ แล้วมันคือผู้ให้บริการที่ freeCodeCamp ใช้ส่งจดหมายข่าวรายสัปดาห์ของ Quincy
เช่นเดียวกับ SMTP providers หลายตัว SendGrid ให้บริการ mail servers ของพวกเขาเพื่อส่งอีเมลของคุณ นี่เป็นตัวเลือกที่ดีมากสำหรับการส่งอีเมลปริมาณมาก ซึ่งการทำด้วยตนเองจะใช้เวลาและความพยายามมาก
วิธีสร้างบัญชี SendGrid
ขั้นตอนแรกในการใช้บริการ SendGrid คือการสร้างบัญชี ไปที่เว็บไซต์ SendGrid เพื่อสมัคร พวกเขามีโมเดลราคาหลายแบบ แตระดับฟรีจะเพียงพอสำหรับบทช่วยสอนนี้อย่างน้อย
เมื่อคุณขยายรายการอีเมลของคุณ อย่างไรก็ตาม คุณอาจต้องการฟีเจอร์เพิ่มเติมจากระดับสมาชิกที่สูงกว่า
เมื่อคุณลงชื่อเข้าใช้ คุณควรเห็นมุมมองแดชบอร์ดเริ่มต้น:

วิธีตั้งค่าโดเมนหรืออีเมลกับ SendGrid
จากมุมมองแดชบอร์ด ให้เลือก "Settings" แล้วเลือก "Sender Authentication" จากเมนูดรอปดาวน์ การตั้งค่า Sender Authentication คือที่ที่คุณบอก SendGrid ว่าอนุญาตให้ส่งอีเมลจากบัญชีอีเมลไหน
มีสองแนวทาง – หากคุณมีโดเมนกำหนดเองสำหรับอีเมล คุณสามารถตั้งค่า Domain Authentication หากคุณใช้อีเมลส่วนตัว เช่น Gmail คุณจะต้องตั้งค่า Single Sender Authentication
เลือกตัวเลือกที่เหมาะกับคุณ และทำตามพรอมป์ของ SendGrid เพื่อตั้งค่า ผลลัพธ์สุดท้ายควรคล้ายกับนี้:

วิธีส่งอีเมลผ่าน API ของ SendGrid
กระบวนการจริงของการส่งอีเมลทำผ่าน API ของ SendGrid แต่ก่อนที่คุณจะใช้ API คุณต้องตั้งค่า API key
จากมุมมองแดชบอร์ด ให้เลือก "Settings" แล้วเลือก "API Keys" เลือก "Create API Key" และเลือกสิทธิ์ที่คุณต้องการให้ key มี (ผมให้ full permissions เพื่อหลีกเลี่ยงปัญหา)
เมื่อคุณได้ key แล้ว ให้บันทึกไว้ที่ปลอดภัย เพราะคุณจะไม่สามารถเข้าถึงมันอีก

ตอนนี้คุณมี API key แล้ว คุณต้องตั้งค่าโค้ดเพื่อใช้ endpoint /mail/send คุณสามารถเขียนโค้ดด้วยตนเอง หรือใช้ helper libraries อย่าง package Node.js ของ SendGrid
เมื่อใช้ package Node.js คุณตั้งค่าสำหรับอีเมลของคุณดังนี้:
to: ที่อยู่ที่จะส่งอีเมลไปfrom: ที่อยู่ที่จะส่งอีเมลจาก ควรตรงกับการตั้งค่าใน Sender Authenticationsubject: หัวข้อของอีเมลtext: เนื้อหาอีเมล หากส่ง plain text emailhtml: เนื้อหาอีเมล หากส่ง HTML email
Properties ใน raw API call ต่างออกไป เช่นเดียวกับ properties ใน helper libraries อื่นๆ โปรดอ้างอิงเอกสารสำหรับแนวทางเฉพาะของคุณ
วิธีใช้ Dynamic Templates ใน SendGrid
เป็นตัวเลือกทางเลือก แทนที่จะส่งเนื้อหาอีเมลใน API call คุณสามารถใช้ Dynamic Template เพื่อสร้างเนื้อหา
Dynamic Template ให้คุณตั้งค่าเนื้อหาสำหรับอีเมลที่จะส่ง และมีฟังก์ชัน Handlebars เพื่อแทนที่ฟิลด์ข้อมูลเฉพาะ
เพื่อสร้าง Dynamic Template จากแดชบอร์ด ให้เลือก "Email API" แล้ว "Dynamic Templates" จากนั้นคลิก "Create a Dynamic Template" – คุณควรเห็นเทมเพลตปรากฏด้านล่าง
คลิกที่มัน แล้วเลือก "Add Version" เพื่อเปิดการเลือกเทมเพลต เลือกเทมเพลตว่าง แล้วเลือกประเภท editor ที่คุณต้องการใช้ (ผมใช้ code editor)

คุณสามารถเขียนเนื้อหาอีเมล และใช้ placeholder อย่าง {{name}} สำหรับข้อมูลไดนามิก Placeholders นี้จะได้รับค่าผ่าน API calls เมื่อคุณส่งอีเมล
หากคุณต้องการดูว่าจะเรนเดอร์อย่างไร คุณสามารถใช้แท็บ "Test Data" เพื่อเพิ่มข้อมูลตัวอย่างสำหรับ placeholders
วิธีดู Blocks/Bounces/Spams ผ่าน API ของ SendGrid
การติดตามอีเมลที่ส่งไม่สำเร็จเป็นเรื่องสำคัญ SendGrid มีเครื่องมือช่วยติดตาม และข้อมูลนั้นพร้อมใช้งานผ่านมุมมองแดชบอร์ดสามมุมมอง (หรือ API endpoints หากคุณต้องการ parse ข้อมูลด้วยโปรแกรม)
Blockedemails คืออีเมลที่ถูกปฏิเสธโดยนโยบายของผู้ให้บริการอีเมลฝั่งรับ เช่น อีเมลมหาวิทยาลัยที่ไม่ยอมรับトラフィคภายนอก หรืออีเมลที่ไม่สามารถ resolve ได้ (ไม่พบ mail server)Bouncedemails คืออีเมลที่ถูกรับโดยเซิร์ฟเวอร์แต่ส่งกลับมา เกิดขึ้นเมื่อเซิร์ฟเวอร์อีเมลมีอยู่ แต่ผู้ใช้เฉพาะไม่มี หรือกล่องจดหมายเต็มSpamemails อาจสำคัญที่สุดที่ต้องติดตาม เนื่องจากเกิดเมื่อผู้รับได้รับอีเมลของคุณและรายงานให้ผู้ให้บริการว่าอีเมลของคุณเป็นสแปม สิ่งเหล่านี้ส่งผลต่อ reputation ของคุณในฐานะผู้ส่งโดยตรง จึงเป็นสิ่งสำคัญที่คุณไม่ส่งอีเมลให้ใครที่เคยทำเครื่องหมายอีเมลของคุณเป็นสแปม
ข้อกังวลอื่นๆ
เกี่ยวกับ reputation ของคุณในฐานะผู้ส่ง SendGrid มีเมตริกระดับบนชื่อ "Sender Reputation" เมตริกนี้เป็นการรวมกิจกรรมของคุณผ่านแพลตฟอร์มของพวกเขา และช่วยให้มีความเข้าใจทั่วไปว่าผู้ให้บริการอีเมลอาจจัดการอีเมลของคุณอย่างไร
Reputation ที่ต่ำจะทำให้อีเมลของคุณถูกทำเครื่องหมายเป็นสแปมอัตโนมัติ หรือแม้แต่ที่อยู่ IP ของคุณถูกบล็อก
หากคุณอยู่ในระดับฟรีของ SendGrid คุณจะใช้ shared IP addresses หมายความว่าลูกค้าคนอื่นจะส่งอีเมลผ่าน IP เดียวกัน และการกระทำของพวกเขาอาจส่งผลต่อ reputation ของคุณลบ
หากคุณตั้งใจส่งอีเมลปริมาณมาก ผมแนะนำให้ซื้อ dedicated IP addresses เพื่อให้ reputation ของคุณได้รับการปกป้อง
สรุป
ผมหวังว่าบทความนี้ช่วยให้คุณคุ้นเคยกับ SendGrid และบริการที่พวกเขาเสนอ คุณควรพร้อมที่จะเริ่มส่งอีเมลของคุณเองแล้ว
หากคุณวางแผนเริ่มจดหมายข่าวอีเมล ผมเขียนบทความเกี่ยวกับการสร้างจดหมายข่าวอีเมลที่มีประสิทธิภาพที่อาจช่วยได้