📅  最后修改于: 2023-12-03 15:08:43.555000             🧑  作者: Mango
邮件是我们日常生活和工作中经常使用的工具,而在 Node.js 中,我们可以通过 nodemailer 这个库来实现邮件的发送。
nodemailer 提供了一些功能来创建并发送邮件,其中包括添加附件、HTML 内容、发送电子邮件等等,接下来我们将针对如何在 Node.js 中使用 nodemailer 发送附件和电子邮件做介绍。
在使用 nodemailer 之前,需要先安装该库:
npm install nodemailer
发送电子邮件是 nodemailer 的最基本功能,可以使用以下代码:
const nodemailer = require("nodemailer");
const transporter = nodemailer.createTransport({
service: "gmail",
auth: {
user: "你的 Gmail 邮箱地址",
pass: "你的 Gmail 密码",
},
});
const mailOptions = {
from: "发件人名称 <发件人邮箱地址>",
to: "收件人邮箱地址",
subject: "邮件主题",
text: "邮件内容",
};
transporter.sendMail(mailOptions, function (error, info) {
if (error) {
console.log(error);
} else {
console.log("Email sent: " + info.response);
}
});
其中,需要使用你的 Gmail 邮箱地址和密码进行身份验证。通过 transporter.sendMail()
来发送邮件,并在回调函数中打印发送的结果。
在 nodemailer 中,添加附件需要用到 attachments
属性,具体代码如下:
const nodemailer = require("nodemailer");
const fs = require("fs");
const transporter = nodemailer.createTransport({
service: "gmail",
auth: {
user: "你的 Gmail 邮箱地址",
pass: "你的 Gmail 密码",
},
});
const mailOptions = {
from: "发件人名称 <发件人邮箱地址>",
to: "收件人邮箱地址",
subject: "邮件主题",
html: "<p>邮件内容</p>",
attachments: [
{
filename: "文件名.jpg",
path: "/path/to/文件名.jpg",
cid: "uniq@mail.com", // 可以使用 HTML 中的 cid:cidValue 来引用
},
],
};
transporter.sendMail(mailOptions, function (error, info) {
if (error) {
console.log(error);
} else {
console.log("Email sent: " + info.response);
}
});
其中,path
属性指向要添加的附件的路径,filename
属性指定了邮件中看到的附件名称。同时,在 HTML 内容中可以使用 cid
属性来引用此附件。
通过以上代码片段,我们可以学习到如何在 Node.js 中使用 nodemailer 通过电子邮件发送带有附件的邮件,大家可以根据自己的需要进行调整和使用。