如何修复node-imap SSL连接错误

问题描述 投票:0回答:1

所以我尝试使用 node-imap 库连接到我的 imap 邮件服务器,但无法使其工作。我在尝试连接时收到以下错误:

Error: C03A9B0402000000:error:0A00010B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:355:

    at Socket.ondata (node:internal/js_stream_socket:79:22)
    at Socket.emit (node:events:518:28)
    at addChunk (node:internal/streams/readable:559:12)
    at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
    at Readable.push (node:internal/streams/readable:390:5)
    at TCP.onStreamRead (node:internal/stream_base_commons:190:23) {
  library: 'SSL routines',
  reason: 'wrong version number',
  code: 'ERR_SSL_WRONG_VERSION_NUMBER',
  source: 'socket'
}

我尝试过使用不同的选项,但没有一个有效。这是我当前使用的连接数据:

const imap = new Imap({
  user: process.env.EMAIL_USER,
  password: process.env.EMAIL_PASS,
  port: process.env.EMAIL_PORT,
  host: process.env.EMAIL_HOST,
  tls: process.env.EMAIL_SECURE,
  authTimeout: 10000,
  connTimeout: 10000,
});

我尝试过端口号 465、587、25、45 也尝试过将 TLS 设置为 false,并且我也尝试过设置

tlsOptions: {
    minVersion: 'TLSv1.2', // TLSv1.3, TLSv1.1
  },

这可能是服务器使用的 SSL 证书有问题吗?我的电子邮件服务器是一个自托管的 smartermail 服务器。使用 Outlook 和/或 Apple Mail 时,在启用 SSL/TLS 的情况下,它可以在端口 465 和 587 上正常工作。

另外,node-imap 似乎是一个旧库,不确定最近是否已更新。难道是nodejs版本的问题?如果有人知道可以检查和接收电子邮件的更现代的图书馆,请告诉我。

任何帮助将不胜感激。谢谢

node.js ssl imap tls1.2 node-imap
1个回答
0
投票

所以我觉得自己很愚蠢。我使用的端口 465、587、45 全部用于 SMTP,而不是 Imap。当我意识到这一点并将其更改为 Imap 端口 993 时,它就起作用了!我想我需要休息一下。哈哈..

无论如何,谢谢。

和平。

© www.soinside.com 2019 - 2024. All rights reserved.