什么是Nodemailer?
Nodemailer是一个可以通过JavaScript/TypeScript发送电子邮件的包或模块。
如何使用Nodemailer发送电子邮件?
步骤1:创建一个文件夹
在你的桌面(或PC上的任意文件夹)创建一个文件夹。我将我的文件夹命名为“sendemail”。然后,使用VSCode打开该文件夹。
步骤2:初始化项目/package
在VSCode中打开终端,运行以下命令:
npm init -y
注意,你会看到创建了一个package.json文件。该文件将用于管理你的项目依赖。
步骤3:安装并初始化TypeScript
接下来,如果你还没有安装TypeScript,你需要全局安装它。你可以通过运行以下命令来安装:
npm install -g typescript
安装完TypeScript后,运行以下命令在项目中初始化TypeScript:
tsc --init
这将创建一个tsconfig.json文件,你可以使用它来配置TypeScript的行为。
步骤4:安装Nodemailer
初始化项目后,你需要安装Nodemailer,运行以下命令:
npm install nodemailer
同时,安装Nodemailer的类型声明:
npm i --save-dev @types/nodemailer
你使用--save-dev
标志,因为在生产环境中不会需要这个类型声明依赖(如果你打算将脚本部署到生产服务器上)。
运行完这个命令后,如果你查看package.json文件,你会发现dependencies
对象中包含了“nodemailer”以及你安装的版本。同时,你也应该看到@types/nodemailer
在devDependencies
中。
步骤5:创建index.ts文件
在你的“sendemail”文件夹(package.json所在的文件夹)中创建一个名为“index.ts”的文件。
可以使用像Mailtrap或Google的Gmail等平台来发送电子邮件。在这个例子中,我将使用Google的Gmail。
前往你的Gmail账户(确保你的Gmail账户已开启双重身份验证),搜索“app password”,然后创建一个应用密码,并将其作为配置中的pass
属性的值(密码中不应包含空格)。
确保将你的应用密码保密,不要分享。知道你电子邮件和应用密码的任何人都可以使用你的账户发送电子邮件。
在index.ts
文件中,写入以下代码:
import nodemailer from "nodemailer";
const transporter = nodemailer.createTransport({
service: "gmail",
host: "smtp.gmail.com",
auth: {
user: "", // 你的电子邮件
pass: "" // 你生成的应用密码,粘贴时去除空格
},
secure: true,
port: 465
});
(async () => {
await transporter.sendMail({
from: "", // 你的电子邮件
to: "", // 你想发送电子邮件的目标地址
subject: "", // 电子邮件的标题或主题
html: "" // 我喜欢将电子邮件作为HTML发送,你也可以发送普通文本
});
console.log("Email sent");
})();
步骤6:执行index.ts文件
在执行index.ts
文件之前,安装ts-node
以直接执行TypeScript文件。运行以下命令:
npm install -g ts-node
接下来,执行index.ts
文件,运行以下命令:
ts-node index.ts
评论(0)