ส่ง Email ใน node.js

การส่งอีเมล (Email) ใน Node.js สามารถทำได้โดยใช้ไลบรารี nodemailer ซึ่งช่วยให้คุณส่งอีเมลอย่างง่ายและมีความปลอดภัย ต่อไปนี้เป็นวิธีการส่งอีเมลใน Node.js โดยใช้ nodemailer:

  1. ติดตั้ง nodemailer:
    ก่อนอื่นให้ติดตั้งไลบรารี nodemailer โดยใช้ npm หรือ yarn:

    1
    npm install nodemailer
  2. สร้างและกำหนดค่าของ Transporter:
    ในโค้ด Node.js ของคุณ คุณต้องสร้างและกำหนดค่าของ Transporter ของ nodemailer เพื่อเชื่อมต่อกับบริการอีเมลของคุณ (เช่น Gmail, SMTP แบบที่คุณต้องการ):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    const nodemailer = require('nodemailer');

    // สร้าง Transporter
    const transporter = nodemailer.createTransport({
    service: 'Gmail', // เปลี่ยนเป็นบริการที่คุณใช้ (เช่น Gmail, Outlook, SMTP อื่น ๆ)
    auth: {
    user: '[email protected]', // อีเมลของคุณ
    pass: 'your_password', // รหัสผ่านของคุณ
    },
    });

    หรือหากคุณใช้บริการ SMTP ปรับแต่ง เช่น Gmail คุณสามารถทำการกำหนดค่าได้ดังนี้:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    const transporter = nodemailer.createTransport({
    host: 'smtp.gmail.com', // เช่นสำหรับ Gmail
    port: 587, // Port สำหรับ Gmail
    secure: false, // ใช้ false ถ้าไม่ใช้ SSL/TLS
    auth: {
    user: '[email protected]', // อีเมลของคุณ
    pass: 'your_password', // รหัสผ่านของคุณ
    },
    });
  3. สร้างและส่งอีเมล:
    คุณสามารถสร้างและส่งอีเมลโดยใช้ transporter ของ nodemailer ดังนี้:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    const mailOptions = {
    from: '[email protected]', // อีเมลผู้ส่ง
    to: '[email protected]', // อีเมลผู้รับ (สามารถใช้ ',' หรือสร้างอาเรย์เพื่อส่งหลายอีเมล)
    subject: 'หัวข้ออีเมล', // หัวข้ออีเมล
    text: 'เนื้อหาข้อความอีเมล', // เนื้อหาข้อความ
    // หรือถ้าคุณต้องการส่ง HTML สามารถใช้คำสั่งดังนี้:
    // html: '<h1>HTML Content</h1>',
    };

    transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
    console.error('เกิดข้อผิดพลาดในการส่งอีเมล: ', error);
    } else {
    console.log('อีเมลถูกส่งเรียบร้อย: ', info.response);
    }
    });

    หลังจากการส่งอีเมลเสร็จสิ้น คุณจะได้รับข้อมูลการตอบรับใน info.response.

อย่าลืมแทนค่า [email protected] และ your_password ด้วยข้อมูลบัญชีอีเมลของคุณ และปรับแต่ง mailOptions เพื่อระบุผู้รับอีเมล หัวข้อ และเนื้อหาข้อความของอีเมลตามที่คุณต้องการ.

การส่งอีเมลใน Node.js โดยใช้ nodemailer คือวิธีที่ดีและปลอดภัยสำหรับการดำเนินการนี้ในแอปพลิเคชันของคุณ.