使用nodemailer发送邮件

  • Post author:
  • Post category:其他


utils.nodemailer.js

const nodemailer = require("nodemailer");
/**
 * 邮箱发送
 *
 * @param  {Object}  pm 对方信息
 */

exports.sendMailer = (pm) => {
  return new Promise((resolve, reject) => {
    // 创建Nodemailer传输器 SMTP 或者 其他 运输机制
    let transporter = nodemailer.createTransport({
      service: "QQ", // 使用内置传输发送邮件 查看支持列表:https://nodemailer.com/smtp/well-known/
      port: 465, // SMTP 端口
      secureConnection: true, // 使用 SSL
      auth: {
        user: "1317499207@qq.com", // 发送方邮箱的账号
        pass: "xxxxx", // 邮箱授权密码
      },
      tls: {
        rejectUnauthorized: false, // 拒绝认证就行了, 不然会报证书问题
      },
    });
    let form = JSON.parse(pm.content);
    console.log(form);
    // 定义transport对象并发送邮件
    transporter.sendMail(
      {
        from: `"Harriet" <1317499207@qq.com>`, // 发送方邮箱的账号(需要和auth.user一致)
        to: form.email, // 邮箱接受者的账号
        subject: "认证club---客户信息", // Subject line
        // text: '"Blog 👻"', // 文本内容
        html: `
            <p style="text-indent: 2em;">您好! 客户的邮箱是:"${form.email}" </p>
            <p style="text-indent: 2em;">✨以下是客户填写的信息!</p>
            <p style="text-indent: 2em;">用途:${form.purpose}</p>
            <p style="text-indent: 2em;">留言信息:${form.desc}</p>
        `,
        // <p style="text-indent: 2em;">最后祝您工作顺利,心想事成🎉🎉🎉</p>
      },
      (error, info) => {
        if (error) {
          reject(error);
        }
        resolve(info);
      }
    );
  });
};

使用:

const { sendMailer } = require("../utils/utils.nodemailer");
const newMessage = {
    email: pm.email,
    status: false,
    content: pm.content,
  };
  DAO.create(Message, newMessage, (data) => {
    //留言成功后 发送言邮件通知
    sendMailer(pm)
      .then((info) => {
        res.sendResult(data);
      })
      .catch((e) => {
        res.sendResult({ data: e.response, code: 505, message: e.response });
      });
  });



版权声明:本文为qq_38188485原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。