nodejs自动发送文件 ,把目录中文件批量发送附件

nodejs发送邮件,批量发送附件_javascript

  • main.js
const nodemailer = require('nodemailer')
const fs = require('fs')
const path = require('path')

const dir = './files'

// 使用async..await 创建执行函数
async function main() {
// 如果你没有一个真实邮箱的话可以使用该方法创建一个测试邮箱
// let testAccount = await nodemailer.createTestAccount()

// 创建Nodemailer传输器 SMTP 或者 其他 运输机制
let transporter = nodemailer.createTransport({
host: 'smtp.126.com', // 第三方邮箱的主机地址
port: 25,
secure: false, // true for 465, false for other ports
auth: {
user: 'xxx@126.com', // 发送方邮箱的账号
pass: 'axsdsadsadas', // 邮箱授权密码
},
})

// 定义transport对象并发送邮件
sendFiles(transporter)
}

function sendFiles(transporter) {
fs.readdir(dir, function (err, files) {
// console.log(files)
if (err) throw err

files.forEach(async function (file) {
// console.log(path.resolve(dir, file))
// console.log('send mail', file)
const res = await transporter.sendMail({
from: '"AAA" <AAA@126.com>', // 发送方邮箱的账号
to: 'VVV@cebvendor.com', // 邮箱接受者的账号
subject: file, // Subject line
text: '', // 文本内容
attachments: [
{
filename: file, // 附件名称
content: fs.createReadStream(path.resolve(dir, file)),
},
],
})

console.log('File sent [ %s ] Ok! : %s', file, res.messageId)
})
})
}

main().catch(console.error)

nodejs发送邮件,批量发送附件_javascript_02