Skip to main content
0
Back-End DeveloperDevInit

มารู้จัก Nodemailer ที่ใช้สำหรับการส่ง email เบื้องต้น

ในการพัฒนาเว็บไซต์ที่ต้องการให้ส่งอีเมล์ได้นั้น ตัว Node.js ก็จะมี module ที่ช่วยจัดการกับเรื่องนี้อยู่ นั้นคือ Nodemailer ที่ใช้สำหรับสร้างและส่งอีเมล์ ซึ่งในบทความนี้จะพามาทำความรู้จักและใช้งานตัว Nodemailer เบื้องต้นกัน

Nodemailer คือ

Nodemailer เป็นโมดูลใน Node.js ที่ใช้สำหรับการส่งอีเมล์อย่างง่ายและสะดวก โดย Nodemailer ช่วยให้สามารถสร้างและส่งอีเมล์ได้โดยใช้โค้ด JavaScript แบบเดียวกันกับการเขียนโปรแกรมใน Node.js นอกจากนี้ Nodemailer ยังใช้งานร่วมกับ SMTP (Simple Mail Transfer Protocol) หรือบริการอีเมล์อื่น ๆ เพื่อส่งอีเมล์ออกไปยังผู้รับได้อย่างสะดวก การใช้งาน Nodemailer ช่วยให้สามารถสร้างและปรับแต่งอีเมล์ตามความต้องการ

การใช้งาน Nodemailer

ทำการติดตั้งตัว Nodemailer ก่อน

npm install nodemailer

ในบทความนี้จะทำการส่ง email โดยใช้ตัว Ethereal ที่เป็นบริการเซิร์ฟเวอร์ SMTP ทดสอบฟรี ที่ใช้ในการทดสอบการส่งอีเมล์ที่ไม่ใช่การใช้งานจริง ในการพัฒนาแอปพลิเคชันหรือเว็บไซต์ที่มีการส่งอีเมล์ผ่าน SMTP โดยสามารถเข้าไปใช้งานได้จาก ลิ้งค์นี้

จากนั้นทำการกด ‘Create Ethereal Account’ เพื่อทำการสร้าง Username และ Password ในการใช้งาน

เมื่อมี Username และ Password แล้ว ก็สามารถใช้ตัวอย่างคำสั่งนี้ได้เลย

const nodemailer = require("nodemailer");

const transporter = nodemailer.createTransport({
  host: "smtp.ethereal.email",
  port: 587,
  secure: false, // Use `true` for port 465, `false` for all other ports
  auth: {
    user: "alena22@ethereal.email",
    pass: "9v91wGpR6ZCWjykm4H",
  },
});

// async..await is not allowed in global scope, must use a wrapper
async function main() {
  // send mail with defined transport object
  const info = await transporter.sendMail({
    from: 'alena22@ethereal.email', // sender address
    to: "bar@example.com, baz@example.com", // list of receivers
    subject: "Hello ✔", // Subject line
    text: "Hello world?", // plain text body
    html: "<b>Hello world?</b>", // html body
  });

  console.log("Message sent: %s", info.messageId);
  // Message sent: <d786aa62-4e0a-070a-47ed-0b0666549519@ethereal.email>
}

main().catch(console.error);

หลังจาก run คำสั่งแล้วสามารถตรวจสอบ email ที่ส่งมาได้เลย

ตามตัวอย่างการใช้งานนี้สามารถนำไปพัฒนาและต่อยอดให้สามารถใช้งานได้จริงได้ แต่ก็ต้องทำการศึกษาเรื่องของความปลอดภัยของการส่ง email แต่ละช่องทางนั้นเอง 😁

ข้อมูลอ้างอิง

Anucha Wilailert

Author Anucha Wilailert

More posts by Anucha Wilailert

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่จำเป็น
    เปิดใช้งานตลอด

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้
    รายละเอียดคุกกี้

  • คุกกี้สำหรับการติดตามทางการตลาด

    ประเภทของคุกกี้ที่มีความจำเป็นในการใช้งานเพื่อการวิเคราะห์ และ นำเสนอโปรโมชัน สินค้า รวมถึงหลักสูตรฟรี และ สิทธิพิเศษต่าง ๆ คุณสามารถเลือกปิดคุกกี้ประเภทนี้ได้โดยไม่ส่งผลต่อการทำงานหลัก เว้นแต่การนำเสนอโปรโมชันที่อาจไม่ตรงกับความต้องการ
    รายละเอียดคุกกี้

บันทึกการตั้งค่า