Loopback не может отправлять динамические значения по электронной почте - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть контактная форма, где я могу сохранить данные в базе данных, используя 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.

1 Ответ

0 голосов
/ 01 апреля 2019

Вы можете получить доступ к экземпляру модели через объект контекста, который транспортирует данные.Вы можете прочитать больше об этом здесь: 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); 
 }); 
});
...