const transporter = nodemailer.createTransport({
host: "smtp.qq.com",// SMTP 服务器地址
port: 465,// SMTP 端口,对于 SSL 使用 465
secure: true, // 对端口465使用“true”,对所有其他端口使用“false”
auth: {
user: "发件人邮箱",// 发件人邮箱
pass: "SMTP 授权码",// SMTP 授权码
},
});
// 异步。全局作用域中不允许使用wait,必须使用包装器
async function main() {
// 使用定义的传输对象发送邮件
const info = await transporter.sendMail({
from: '发件人地址', // 发件人地址
to: "接收者列表,用逗号隔开", // 接收者列表,用逗号隔开
subject: "主题行 测试 ✔", // 主题行
text: "纯文本正文", // 纯文本正文
html: "<b>html正文</b>", // html正文
attachments: [
// 文本文件附件
{
filename: 'demo.txt',
path: 'demo.txt',
contentType: 'text/plain'
},
// 图片附件
{
filename: 'image.jpg',
path: 'image.jpg',
contentType: 'image/jpeg'
},
// PDF附件
{
filename: 'demo.pdf',
path: 'demo.pdf',
contentType: 'application/pdf'
},
// Word文档附件
{
filename: 'demo.docx',
path: 'demo.docx',
contentType: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
},
{
filename: 'demo.zip',
path: 'demo.zip',
contentType: 'application/zip'
},
// 表格文件附件(Excel)
{
filename: 'demo.xlsx',
path: 'demo.xlsx',
contentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
},
]
});
console.log("已发送消息: %s", info.messageId);
// 已发送消息: <7100cc5a-51c8-60aa-dfb8-531bd086d5b1@qq.com>
}
main().catch(console.error);