使用 nodemailer 发送邮件到 office@company.ro 地址

Sending mail with nodemailer to office@company.ro address

let transporter = nodemailer.createTransport({
    service: '?',
    auth: {
        user: 'office@company.ro',
        pass: 'passHere'
    }
});

这是我正在使用的代码。

早些时候,我将电子邮件发送到 Gmail 地址,因此“服务”是“gmail”,并且运行良好。

对于像“office@company.ro”这样的地址,我应该传递什么作为“服务”?

您可以使用 SMTP API,您应该使用主机(要连接的主机名或 IP 地址)而不是这样的服务:

nodemailer.createTransport({
  host: "smtp.example.com",  //<= add smtp server here
  port: 587, //add port
  secure: false, // upgrade later with STARTTLS
  debug: true,
  auth: {
    user: "username",
    pass: "password"
  }
});

有关详细信息,请查看 here

如果您将 logger: true 添加到传输器,将在控制台中记录所有服务器 SMTP activity。

因此,只需添加我完全同意的第一个答案:

    nodemailer.createTransport({
  host: "smtp.example.com",  //<= add smtp server here
  port: 587, //add port
  secure: false, // upgrade later with STARTTLS
  debug: true, // show debug output
  logger: true // log information in console  **NEW**
  auth: {
    user: "username",
    pass: "password"
  }
});

Mailtrap 写了一篇关于它的小文章,对调试和记录器做了更多解释:https://blog.mailtrap.io/sending-emails-with-nodemailer/