【问题标题】:Issues configuring Nodemailer 4.6.3 with Exchange 2010 (Node.js)使用 Exchange 2010 (Node.js) 配置 Nodemailer 4.6.3 的问题
【发布时间】:2018-10-07 17:50:36
【问题描述】:

我的问题是在 Node.js 应用程序上使用 Exchange 2010 电子邮件服务器正确配置 Nodemailer。

因为我在使用 Outlook365 等知名服务时没有遇到身份验证问题,所以我假设问题出在主机和/或安全性和端口设置上 - 我认为我没有连接首先。

下面是我的配置 -

let transporter = nodemailer.createTransport({
  host: 'https://email.<COMPANYNAME>.com/owa',
  port: '587',
  secure: false,
  auth: { 
    user: <USERNAME>, 
    pass: <PASSWORD>
  },
  tls: {
    rejectUnauthorized: false
  }
});

在我的 Node 应用程序上出现错误 -

transporter.sendMail(mailOptions, (error, info) => {
  if (error) {
    console.log('Send error: ', error);
    res.sendStatus(500);
  } else {
    console.log('Email sent!');
    res.sendStatus(200);
  }
});

这是来自 AWS EC2 日志的错误 -

getaddrinfo ENOTFOUND https://email.<COMPANYNAME>.com/owa https://email.<COMPANYNAME>.com/owa:587
    at errnoException (dns.js:28:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)
  code: 'ECONNECTION',
  errno: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'https://email.<COMPANYNAME>.com/owa',
  host: 'https://email.<COMPANYNAME>.com/owa',
  port: '587',
  command: 'CONN'

Nodemailer 文档指定主机“是要连接的主机名或 IP 地址(默认为‘localhost’)”

当我尝试更多传统的 mail.COMPANYNAME.com 时,我的请求超时。使用该地址显然会命中我的服务器并在我指定的验证/发送步骤中返回错误。

同样,问题似乎与我在 Exchange 2010 中的传输器配置有关。非常感谢任何帮助!

【问题讨论】:

  • 欢迎来到 Stack Overflow! SO 的 markdown 语法不需要代码栅栏的反引号(而且,它甚至不适用于它们)。您需要做的就是缩进它们,它们现在被视为代码并按原样显示。
  • 谢谢!我会编辑帖子。

标签: node.js nodemailer exchange-server-2010


【解决方案1】:

我也在寻找这个问题。但我自己找到了解决方案。

const transporter = nodemailer.createTransport({
         host: 'smtp.office365.com',
         port: 587,
         secure: false,
         auth: {
            user: 'USER_NAME',
            pass: 'PASSWORD'
         }
      });

我使用此配置从 Exchange 或 Office 365 服务器使用节点邮件程序发送电子邮件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 2021-09-05
    相关资源
    最近更新 更多