我试图访问AUTH类型为NTLM的SMTP服务器。使用来自Node.js的AUTH NTLM访问SMTP服务器
我使用nodemailer和nodemailer-SMTP-运输这样:
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内部,如果我更改authMeth od到'NTLM',我得到一个错误,说
{ [Error: Unknown authentication method "NTLM"] code: 'EAUTH' }
我怀疑nodemailer只是不支持NTLM。如果是这种情况,我如何连接到需要NTLM身份验证类型的SMTP服务器?
谢谢
https://github.com/nodemailer/nodemailer/issues/314 - 看起来我们运气不好 - 写作时的最后一条评论是来自维护者说的:“我对NTLM本身没有任何反应。我只是不知道如何测试它似乎是微软的具体情况,我对基于Windows的系统一无所知“ – Stevie