У меня есть Loopback-приложение с REST API.
Я хочу создать REST API Enpoint / Email / sendEmail, который отправляет электронную почту.Я сделал этот урок: https://loopback.io/doc/en/lb3/Email-connector.html,, но он как-то не работает для меня.
Когда я открываю https://localhost:3000/explorer, я вижу конечную точку API и могу нажать кнопку «Попробуйте»из".Но потом он просто загружается вечно, и через некоторое время в консоли появляется ошибка Timeout.
Файл: datasource.json
{
"db": {
"host": "localhost",
"port": 27017,
"url": "",
"database": "siemens",
"password": "",
"name": "db",
"user": "",
"useNewUrlParser": true,
"connector": "mongodb"
},
"email": {
"name": "email",
"connector": "mail",
"transports": [{
"type": "SMTP",
"host": "smtp.gmail.com",
"secure": true,
"port": 465,
"auth": {
"user": "xbit.dany@gmail.com",
"pass": "XXX"
}
}]
}
}
Файл: model-config.json
"Email": {
"dataSource": "email",
"public": true
}
Файл: email.js
module.exports = function(Email) {
// send an email
Email.sendEmail = function(cb) {
console.log("Sending Email");
Email.app.models.Email.send({
to: 'siemens.dany@gmail.com',
from: 'xbit.dany@gmail.com',
subject: 'my subject',
text: 'my text',
html: 'my <em>html</em>'
}, function(err, mail) {
console.log('email sent!');
cb(err);
});
}
Email.remoteMethod(
'sendEmail', {
http: {
path: '/sendEmail',
verb: 'get'
},
returns: {
}
}
);
};
Файл: models / email.json
{
"name": "Email",
"base": "Model",
"properties": {
"to": {"type": "String", "required": true},
"from": {"type": "String", "required": true},
"subject": {"type": "String", "required": true},
"text": {"type": "String"},
"html": {"type": "String"}
}
}