Как исправить время ожидания сокета в emailjs-smtp-client? - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь отправить gmail через emailjs-smtp-client в Google Chrome, Opera и Firefox.В списке зависимостей есть emailjs-tcp-socket.

Я пытался установить таймауты в emailjs-smtp-client / src / client.js

const TIMEOUT_SOCKET_LOWER_BOUND = 10000
const TIMEOUT_SOCKET_MULTIPLIER = 0.1

Это не помогло,тот же результат.

Инициализировать соединение в шаблоне vue:

import SmtpClient from 'emailjs-smtp-client';
let client = {};
let options = {};
let alreadySending = false;
options = {
    auth: {
        user: mail.mail,
        pass: mail.pass,
        ca: true,
        ignoreTLS: false,
        requireTLS: true,
    },
};
client = new SmtpClient(mail.host, 587, options);
client.onidle = () => {
    console.log('Connection has been established');
    if (alreadySending) {
        return;
    }
    alreadySending = true;
    client.useEnvelope({
        from: mail.mail,
        to: mail.mail,
    });
};
client.onready = () => {
    client.send('Subject: test\r\n');
    client.send('\r\n');
    client.send('Message body');
    client.end();
};
client.onerror = (err) => {
    console.log(err);
};
client.ondone = (success) => {
    if (success) {
        // show succes send message
        console.log('The message was transmitted successfully');
    }
};
client.quit();

команда> telnet smtp.gmail.com 587

, работает и подключается нормально,

В FireBug, -> вкладка сети -> WS-соединение пусто.

Я получаю сообщение об ошибке в консоли.

Uncaught (в обещании) TypeError: this.socket.send не является функцией в SmtpClient._send (client.js? 00c3: 486) в SmtpClient._sendCommand (client.js? 00c3: 480) в SmtpClient.quit (client.js? 00c3: 177) в eval (VM5894 761: 276) at _send @ client.js? 00c3: 486 _sendCommand @ client.js? 00c3: 480 quit @ client.js? 00c3: 177 fn._withTask.fn._withTask @ vue.esm.js? 65d7: 1826VM5894 761: 269 Ошибка: истекло время ожидания сокета!в SmtpClient._onTimeout (client.js? 00c3: 419)

...