带有 Mailcow 客户端的 Nodejs Nodemailer

Nodejs Nodemailer with Mailcow Client

我在使用 nodejs nodemailer 时遇到问题。我不知道我到底在哪里犯了错误,因为我按照 nodemail github 页面上的示例进行了操作。 作为邮件服务器接口,我使用 mailcow。 我在这里尝试了 Mailcow 的默认端口,也尝试了 secureConnection false,但没有任何区别。

我的代码:

              var usermail = "test@mydomain.com"
              var transp = mail.createTransport("SMTP",{
                    host: "mail.mydomain.com",
                    port: 587,
                    secureConnection: true,
                    auth: {
                        user: process.env.email,
                        pass: process.env.passwd
                    }
                })

                transp.sendMail({
                    to: usermail,
                    subject: "test",
                    text: "test" 
                },    
                function(err,response){
                    if(err){
                        console.log(err);
                    }
                    console.log(response);
                });

我的错误代码:

0|app  | TypeError: Cannot create property 'mailer' on string 'SMTP'
0|app  |     at new Mail (/home/node_modules/nodemailer/lib/mailer/index.js:45:33)
0|app  |     at Object.module.exports.createTransport (/home/node_modules/nodemailer/lib/nodemailer.js:53:14)
0|app  |     at /home/routes/system.js:876:35
0|app  |     at processTicksAndRejections (internal/process/task_queues.js:93:5)

如果有人能帮我解决我在那里做错的问题,那就太好了。

该错误告诉您,它无法将 'SMTP' 作为参数处理。 根据 Documentation,您不需要指定“SMTP”,因为它需要一个以配置作为第一个参数的对象:

 var transp = mail.createTransport({
                host: "mail.mydomain.com",
                port: 587,
                secureConnection: true,
                auth: {
                    user: process.env.email,
                    pass: process.env.passwd
                }
            })