Node 发送邮件

32 min read
const nodemailer = require('nodemailer');


class QQMail{

  constructor(username="",passowrd=""){
    this.username = username;
    this.passowrd=passowrd;
  }

  async send(from=this.username,to=this.username,text="",html="",filename="",path=""){

    let testAccount = await nodemailer.createTestAccount();
    let transporter = nodemailer.createTransport({
      host: 'smtp.qq.com',
      port: 465,
      secure: true, // true for 465, false for other ports
      auth: {
        user: `${this.username}`, // generated ethereal user
        pass: `${this.passowrd}`  // generated ethereal password
      }
    });


    let info = await transporter.sendMail({
      from: `${this.username}`, // sender address
      to: `${this.username}`, // list of receivers
      subject: 'Hello ✔', // Subject line
      text: 'Hello world?', // plain text body
      html: '<b>Hello world?</b>', // html body
      [filename||path ? 'attachments':""]: [{
        filename: '截图.png',
        path: '/Users/pan/screen.png'
      }]
    });
    console.log('邮件发送成功: %s', info.messageId);
  }
}