【发布时间】:2016-08-04 00:19:05
【问题描述】:
我正在尝试使用 AUTH 类型的 NTLM 访问 SMTP 服务器。
我正在使用 nodemailer 和 nodemailer-smtp-transport :
var config = require('./config.json');
var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');
var transporter = nodemailer.createTransport(smtpTransport({
host : config.mailer.host,
port: config.mailer.port,
auth: {
user: config.mailer.username,
pass: config.mailer.password
},
authMethod: 'PLAIN'
}));
但它不起作用。我得到的错误是:
{ [Error: Invalid login: 504 5.7.4 Unrecognized authentication type]
code: 'EAUTH',
response: '504 5.7.4 Unrecognized authentication type',
responseCode: 504 }
这是有道理的,因为如果我 telnet 进入 SMTP 服务器
ehlo server.domain.net
250-server.domin.net Hello [10.100.10.100]
250-SIZE
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-X-ANONYMOUSTLS
250-AUTH NTLM
250-X-EXPS GSSAPI NTLM
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250-XEXCH50
250 XRDST
然后输入
AUTH PLAIN
我明白了
504 5.7.4 Unrecognized authentication type
但是在 Node 内部,如果我将 authMethod 更改为“NTLM”,我会收到一条错误消息
{ [Error: Unknown authentication method "NTLM"] code: 'EAUTH' }
我怀疑 nodemailer 只是不支持 NTLM。如果是这种情况,如何连接到需要 NTLM 身份验证类型的 SMTP 服务器?
谢谢
【问题讨论】:
-
github.com/nodemailer/nodemailer/issues/314 - 看来我们运气不好 - 撰写本文时的最后一条评论来自维护者说:“我对 NTLM 本身没有任何意见。我只是不知道如何测试它似乎是微软特有的,我对基于 Windows 的系统一无所知"
标签: node.js email smtp ntlm nodemailer