gpt4 book ai didi

node.js - 如何使nodemailer在多个模块中可重用?

转载 作者:太空宇宙 更新时间:2023-11-04 02:54:54 26 4
gpt4 key购买 nike

我在用户注册后实现了nodemailer,方法如下:

let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: process.env.EMAIL_USERNAME,
pass: process.env.EMAIL_PASSWORD
}
});

let mailOptions = {
from: process.env.EMAIL_USERNAME,
to: user.email,
subject: 'Verify your account',
text: 'Click here for verify your account'
};

transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
});

我不太喜欢这段代码,因为如果我需要在另一个模块中发送电子邮件,我需要重写上面的所有内容。

由于我是 NodeJS 的新手,我想知道是否可以删除此代码冗余,制作类似于 utilityhelper 类的内容。目标是导入 wrapper 类并调用一个简单的函数来发送电子邮件。

处理这个问题的最佳方法是什么?

最佳答案

我将您的代码重构为如下所示,然后将其另存为 ma​​il.js

let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: process.env.EMAIL_USERNAME,
pass: process.env.EMAIL_PASSWORD
}
});

let sendMail = (mailOptions)=>{
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
});
};

module.exports = sendMail;

在您的其他模块中,输入activation.js

var mailer = require('./mail.js');

mailer({
from: process.env.EMAIL_USERNAME,
to: user.email,
subject: 'Verify your account',
text: 'Click here for verify your account'
};);

关于node.js - 如何使nodemailer在多个模块中可重用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55025188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com