NodeJS为什么不能在安全选项打开的情况下使用SMTP服务器?

问题描述 投票:0回答:1
const fs = require('fs');
const {SMTPServer} = require('smtp-server');

const smtp = new SMTPServer({
    secure: true,
    key: fs.readFileSync('certs/privkey.pem'),
    cert: fs.readFileSync('certs/cert.pem'),
    onData,
    onRcptTo,
    authOptional: true,
});

function onRcptTo(address, session, callback) {
    console.log("IS HERE!!!");
    callback();
}

function onData(stream, session, callback) {
    stream.pipe(process.stdout);
}

smtp.listen(465);

没有安全选项,并相应地发布25条所有作品,但并没有。

我通过Certbot使用“让我们加密”获得的证书。而且我也尝试保留默认证书,但是那样也不行。我使用mxtoolbox的工具对其进行了测试,并得到“连接错误” resul5

所以,为什么会发生这种情况?

node.js smtp mail-server
1个回答
0
投票

您必须尝试错误处理才能遇到实际出问题的地方。包括并重新排列以下代码段:

const {SMTPServer} = require('smtp-server');
const fs = require('fs'); // must include after smtp-server 

const smtp = new SMTPServer({
    secure: true,
    key: fs.readFileSync('certs/privkey.pem'),
    cert: fs.readFileSync('certs/cert.pem'),
    onRcptTo, // call Rcpt callback first
    onData,
    authOptional: false // leave it optional
});

function onRcptTo(address, session, callback) {
    console.log("IS HERE!!!");
    callback();
}

function onData(stream, session, callback) {
    stream.pipe(process.stdout);
stream.on("end", callback); // must include a callback function
}
smtp.on("error", err => {
      console.log("Error %s", err.message);
    });

smtp.listen(465);
© www.soinside.com 2019 - 2024. All rights reserved.