Nodemailer传输创建建议

时间:2017-08-02 12:38:32

标签: express typescript nodemailer

我在快速服务器上设置了邮件服务类。

建议使用哪种创建传输的方法?

class mailService {
    private transport: nodemailer.Transport;
    constructor(){
        this.transport = nodemailer.createTransport('configstring');
    }

    public sendEmail(email: string){
        //send email
    }
}

OR

class mailService {

    public sendEmail(email: string){
        let transporter = nodemailer.createTransport('configstring');
        //send email
    }

    public sendOtherEmail(email: string){
        let transporter = nodemailer.createTransport('configstring');
        //send email
    }
}

文档说“您可以在创建后随时重复使用传输”这使我认为第一种选择会更好,但无法判断是否有任何优势。

每次只是创建传输是一个重复的问题,还是会有多个实例在内存中浮动,每次执行sendEmail函数时都会孤立?

1 个答案:

答案 0 :(得分:2)

使用第二种方法几乎没有优势。如果要更改不同发送作业之间的传输配置,它可能会派上用场。

如果不是这种情况,推荐坚持使用单一传输(第一种方法)来发送电子邮件根据 DRY 原理

你也不应该关注内存,因为Node有一个垃圾收集器,你的sendOtherEmail()函数结束后将释放内存。