Соединитель электронной почты с обратной связью соединяет ошибку ETIMEDOUT - PullRequest
0 голосов
/ 01 мая 2018

Я вижу, что в петлевых документах используется почтовый соединитель на почтовом соединителе Мой электронный источник данных в datasources.js, как показано ниже:

"emailDataSource": {
"name": "emailDataSource",
"connector": "mail",
"transports":[{
  "type":"SMTP",
  "host": "stmp.gmail.com",
  "secure":true,
  "port":50,
  "auth":{
    "user":"test@gmail.com",
    "pass":"pass"
  }
}]}

И мой конфиг в model-config.json

"Email":{
"dataSource":"emailDataSource"}

А вот мой тест для файла модели js с использованием удаленного метода:

MyModel.orderproduct = function(id, email, cb){
    MyModel.app.models.Email.send({
        to: email,
        from: 'test@gmail.com',
        subject: 'test subject',
        text : 'my text',
        html : 'my <em> html </em>'
    }, function(err, mail){
        console.log('email sent!' + mail);
        cb(err);
    });

}

MyModel.remoteMethod('orderproduct',{
    accepts:[{arg:'id',type : 'string', required: true},
            {arg: 'email', type : 'string', required : true}],
    http: {path : '/product/:id', verb : 'get',source: 'query'},
    return:{arg : 'res', type : 'Object'}
});

Я получил запрос на успешный статус моего удаленного метода. Но я получил ошибку от компонента почтового соединителя как:

{"error": {
"statusCode": 500,
"name": "Error",
"message": "connect ETIMEDOUT 125.235.4.59:50",
"errno": "ETIMEDOUT",
"code": "ECONNECTION",
"syscall": "connect",
"address": "125.235.4.59",
"port": 50,
"command": "CONN",
"stack": "Error: connect ETIMEDOUT 125.235.4.59:50\n    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1189:14)"

} }

Кто-то любезно предоставит некоторые дополнительные сведения или руководство по использованию почтового соединителя Loopback Framework. Спасибо ~

1 Ответ

0 голосов
/ 01 мая 2018

Проблема в настройке сервера SMTP. Номер порта должен быть 465 вместо 50. Используйте следующую конфигурацию

"transports": [{
    "type": "SMTP",
    "host": "smtp.gmail.com",
    "secure": true,
    "port": 465,
    "auth": {
      "user": "name@gmail.com",
      "pass": "pass"
    }
  }]

Ссылка: https://loopback.io/doc/en/lb3/Email-connector.html#using-gmail

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