使用Exchange 2010配置Nodemailer 4.6.3的问题(Node.js)

时间:2018-04-26 22:55:34

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

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

由于我没有收到身份验证问题(我在使用Outlook365这样的知名服务时这样做),我假设问题出在主机和/或安全和端口设置上 - 我不会&# 39;我想我先把它连接起来。

我的配置如下 -

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文档指定主机&#34;是要连接的主机名或IP地址(默认为'localhost')&#34;

当我尝试更多常规mail.COMPANYNAME.com时,我的请求超时。使用该地址会清楚地点击我的服务器,并在我指定的验证/发送步骤中返回错误。

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

1 个答案:

答案 0 :(得分:0)

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

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

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