Я вижу, что документы обратной связи для использования коннектора электронной почты в соединитель электронной почты Мой источник данных электронной почты в datasources.js, как показано ниже:
"emailDataSource": {
"name": "emailDataSource",
"connector": "mail",
"transports":[{
"type":"SMTP",
"host": "stmp.gmail.com",
"secure":true,
"port":50,
"auth":{
"user":"[email protected]",
"pass":"pass"
}
}]}
И мой конфиг в model-config.json
"Email":{
"dataSource":"emailDataSource"}
И вот мой тест на js-файле модели с использованием удаленного метода:
MyModel.orderproduct = function(id, email, cb){
MyModel.app.models.Email.send({
to: email,
from: '[email protected]',
subject: 'test subject',
text : 'my text',
html : 'my <em> html </em>'
}, function(err, mail){
console.info('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. Спасибо ~
Проблема в конфигурации сервера SMTP
. Номер порта должен быть 465
вместо 50
. Используйте следующую конфигурацию
"transports": [{
"type": "SMTP",
"host": "smtp.gmail.com",
"secure": true,
"port": 465,
"auth": {
"user": "[email protected]",
"pass": "pass"
}
}]
Ссылка: https://loopback.io/doc/en/lb3/Email-connector.html#using-gmail
Проверьте имя сервера. Опечатка в stmp.gmail.com
. Это должен быть smtp.gmail.com
. stmp
-> smtp
@Kumar: Большое спасибо, это моя ошибка. Ты спас мне день. Спасибо
Спасибо за быстрый ответ. Но я уже использую порт 465 для своей конфигурации. Но у меня такая же ошибка: {"error": {"statusCode": 500, "name": "Error", "message": "connect ETIMEDOUT 125.235.4.59:465", "errno": "ETIMEDOUT", "code «:« ECONNECTION »,« syscall »:« connect »,« address »:« 125.235.4.59 »,« port »: 465,« command »:« CONN »,« stack »:« Ошибка: подключите ETIMEDOUT 125.235.4.59. : 465 \ n в TCPConnectWrap.afterConnect [как при завершении] (net.js: 1189: 14) "}}