mail-listener-next выдает ошибку openssl - PullRequest
0 голосов
/ 11 марта 2019

Далее я пытаюсь прослушать определенную электронную почту с помощью прослушивателя почты.

var MailListener = require("mail-listener-next");

var mailListener = new MailListener({
  username: "user",
  password: "pass",
  host: "host",
  port: 143, // imap port
  tls: true,
  connTimeout: 10000, // Default by node-imap
  authTimeout: 5000, // Default by node-imap,
  debug: console.log, // Or your custom function with only one incoming argument. Default: null
  tlsOptions: { rejectUnauthorized: false },
  mailbox: "INBOX", // mailbox to monitor
  fetchUnreadOnStart: true, // use it only if you want to get all unread email on lib start. Default is `false`,
  mailParserOptions: {streamAttachments: true}, // options to be passed to mailParser lib.
  attachments: false, // download attachments as they are encountered to the project directory
  //attachmentOptions: { directory: "attachments/" }, // specify a download directory for attachments
  // to make server respond to other requests you may want
  // to pause for 'fetchingPauseTime' fetching of the email, because it 'hangs' your app
  fetchingPauseThreshold: null, // amount bytes
  fetchingPauseTime: 5000 // ms to pause fetching and process other requests
});

mailListener.start(); // start listening to the box

mailListener.on("server:connected", function(){
  console.log("imapConnected");
});

mailListener.on("server:disconnected", function(){
  console.log("imapDisconnected");
});

mailListener.on("error", function(err){
  console.log(err);
});

mailListener.on("attachment", function(attachment, email) {
    if(attachment.includes(".pdf")) {
        // do whatever here
        console.log("message received. Executing shell script");
    }
});

Обратите внимание, что я поставил фиктивные значения для username, password и host.Я получаю это сообщение об ошибке.

[connection] Error: Error: 47043870756864:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:

{ Error: 47043870756864:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:

    at Socket.ondata (internal/js_stream_socket.js:64:22)
    at Socket.emit (events.js:197:13)
    at addChunk (_stream_readable.js:288:12)
    at readableAddChunk (_stream_readable.js:269:11)
    at Socket.Readable.push (_stream_readable.js:224:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:145:17) source: 'socket' }
[connection] Closed
imapDisconnected

До сих пор я проверил, что имя пользователя, пароль, хост и порт верны.Openssl работает на версии 1.0.1f.Я также удостоверился, что зависимости для следующего слушателя почты установлены и обновлены.На данный момент, я уверен, что есть проблема с самим кодом, но я не вижу его.Любое понимание очень ценится.

1 Ответ

0 голосов
/ 12 марта 2019

Ошибка «неправильный номер версии» из openssl означает, что максимальная версия SSL / TLS, поддерживаемая сервером, была отключена клиентом. Если вы сами не отключили версии, существует несколько более старых (считающихся незащищенными) версий.

Я бы предложил обновить поддерживаемые версии TLS на сервере (или попросить их).

Если вам действительно нужно подключиться к этому серверу, тогда вы сможете подключиться к серверу, чтобы включить старые версии ssl / tls, пока он не заработает.

Вы можете использовать openssl s_client , чтобы проверить соединение и посмотреть, какую версию вам нужно включить.

Опции, с которыми вы хотите играть:

-ssl2, -ssl3, -tls1, -tls1_1, -tls1_2, -no_ssl2, -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2 Эти параметры требуют или отключают использование указанных протоколов SSL или TLS. По умолчанию начальное рукопожатие использует гибкий по версии метод, который будет договариваться о самом высоком поддерживаемая версия протокола.

, например

openssl s_client -tls1 -connect www.site.com:443

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...