我有一个联系表,可以在其中使用loopback3将数据保存在数据库中。我还需要发送电子邮件,所以我已经为此模块添加了电子邮件连接器,但是我只能发送邮件中的静态值。如何在contact.js文件中获取动态值并通过电子邮件发送。
contact.json
{
"name": "contact",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string",
"required": true
},
"email": {
"type": "string",
"required": true
},
"subject": {
"type": "string",
"required": true
},
"message": {
"type": "string",
"required": true
},
"inserted_date": {
"type": "string"
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
contact.js
'use strict';
const app = require('../../server/server');
module.exports = function(Contact) {
Contact.afterRemote('create', function(context, remoteMethodOutput, next) {
next();
Contact.app.models.Email.send({
to: 'lakshmipriya.l@company.com',
from: 'lakshmipriya.l@gmail.com',
subject: 'my subject',
text: 'my text',
html: 'my <em>html</em>'
}, function(err, mail) {
console.log('email sent!');
cb(err);
});
});
};
如何发送具有动态值的电子邮件,谁能告诉我如何获取contact.json值并将其发送到contact.js文件。
答案 0 :(得分:0)
您可以通过传输数据的上下文对象访问模型实例。您可以在这里阅读更多内容:https://loopback.io/doc/en/lb2/Remote-hooks.html#ctxresult
因此,将电子邮件发送给已创建的联系人:
Contact.app.models.Email.send({
to: context.result.email,
from: 'lakshmipriya.l@gmail.com',
subject: 'my subject',
text: 'my text',
html: 'my <em>html</em>'
}, function(err, mail) {
console.log('email sent!');
cb(err);
});
});