使用loopback email数据源发送带附件的电子邮件

时间:2017-01-12 22:57:07

标签: loopbackjs nodemailer

是否可以使用loopback email数据源发送附件?

我在源文档中看到的只有以下字段:

  • @property {String}发送电子邮件地址。必需的。
  • 来自电子邮件发件人地址的@property {String}。必需的。
  • @property {String} subject电子邮件主题字符串。必需的。
  • @property {String} text电子邮件的文本正文。
  • @property {String} html HTML电子邮件正文。

1 个答案:

答案 0 :(得分:8)

来自docs

  

节点制作者:在何处查找文档

     

电子邮件连接器是   本质上是nodemailer库的LoopBack集成接口。   此页面给出了一个用法示例;完整的文件   配置选项,请参阅nodemailer documention

Here's where nodemailer have documented attachments.

以下是环回上下文中不同类型附件的示例:

app.models.Email.send({
  to: 'example@example.com',
  from: 'no-reply@example.com',
  subject: 'Email Subject',
  html: '<b>Hello</b>',
  attachments: [
    {   // utf-8 string as an attachment
      filename: 'text1.txt',
      content: 'hello world!'
    },
    {   // binary buffer as an attachment
      filename: 'text2.txt',
      content: new Buffer('hello world!','utf-8')
    },
    {   // file on disk as an attachment
      filename: 'text3.txt',
      path: '/path/to/file.txt' // stream this file
    },
    {   // filename and content type is derived from path
      path: '/path/to/file.txt'
    },
    {   // stream as an attachment
      filename: 'text4.txt',
      content: fs.createReadStream('file.txt')
    },
    {   // define custom content type for the attachment
      filename: 'text.bin',
      content: 'hello world!',
      contentType: 'text/plain'
    },
    {   // use URL as an attachment
      filename: 'license.txt',
      path: 'https://raw.github.com/nodemailer/nodemailer/master/LICENSE'
    },
    {   // encoded string as an attachment
      filename: 'text1.txt',
      content: 'aGVsbG8gd29ybGQh',
      encoding: 'base64'
    },
    {   // data uri as an attachment
      path: 'data:text/plain;base64,aGVsbG8gd29ybGQ='
    },
    {
      // use pregenerated MIME node
      raw: 'Content-Type: text/plain\r\n' +
        'Content-Disposition: attachment;\r\n' +
        '\r\n' +
        'Hello world!'
    }
  ],
}, err => {
  if (err) {
    throw err;
  }
});