ส่งเมลล์ด้วย nodemailer + Nestjs

Supanut Laddayam
2 min readJan 17, 2021

--

สวัสดีครับ ผู้เขียนได้มีโอกาสทำระบบส่งเมลล์ โดยใช้ library nodemailer ซึ่งเป็น lib ที่เข้าใจง่าย และไม่ซับซ้อน (ความคิดเห็นส่วนตัว อิอิ ^^) โดยในบทความนี้จะ ใช้ nestjs และส่ง gmail นะครับ

มาลุยกัน..

step

1.สร้างโปรเจค nestjs

$ nest new <project-name>

2.ลง nodemailer lib

$ npm install — save @nestjs-modules/mailer nodemailer

doc ref: https://nest-modules.github.io/mailer/docs/mailer.html

ต่อมาเข้าไปที่ setting account ของ gmail ของคุณ เพื่อทำการ allow less secure apps (ทางลัด กดเลย click)

** ปล. allow less secure apps แค่ฝั่ง email ที่จะเป็นผู้ส่ง

3.regist MailModule ที่ app.module.ts

  • จะเห็นว่าใช้ host เป็น smtp ของ gmail, ซึ่งหากต้องใช้ mailprovider อื่นก็สามารถเปลี่ยนได้ตรงนี้
  • port เป็น 587 จะ map กับ secure แบบ false ถ้าจะเป็น secure true ให้เปลี่ยนไปใช้ port 465

4.สร้าง route ที่ app.controller.ts

**ปล. MailDto

5.สร้าง service เพื่อทำการส่ง เมลล์

implement method sendMail ของ mailService และ assign ค่าจาก parameter ที่รับมา try catch async-await ถ้าส่งสำเร็จจะ return message: “send success” และ catch error ถ้าพบ

6. ยิงใน postman

เย้ 🎉

7. เช็คใน gmail

มาแย้วว

สรุป📍

ตัว nodemail เข้ามาช่วยจัดการการส่ง email ให้ชีวิตง่ายขึ้นด้วยการ setting ที่ง่าย แถมยังเขียน service ง่ายอีกด้วย

Q:ถ้าม้าวิ่งแข่งกับลาใครจะชนะ

A:ลา เพราะลาไปก่อน… ขอบคุณครับ🙏🏻

--

--

No responses yet