Loopback 无法在电子邮件中发送动态值

Loopback cannot send dynamic values in email

我有一个联系表,我可以使用 loopback3 将数据保存在数据库中。我还需要发送一封电子邮件,所以我为此模块添加了电子邮件连接器,但我只能发送邮件中的静态值。如何获取 contact.js 文件中的动态值并通过电子邮件发送。

contact.js开

{
  "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 文件。

您可以通过传输数据的上下文对象访问模型实例。您可以在此处阅读更多信息: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); 
 }); 
});