如何将电子邮件附件添加到Stradi提供者电子邮件节点邮件程序

时间:2019-07-24 16:19:10

标签: email-attachments nodemailer strapi

我正尝试使用trapi-provider-email-nodemailer发送带有附件的确认电子邮件。插件clearly supports attachments,但我不知道我应该在trapi后端中添加这些附件。有人知道如何在通过trapi-nodemailer发送的电子邮件中添加附件吗?

1 个答案:

答案 0 :(得分:0)

最后,解决方案非常复杂。用Strapi可能有一种更简单的,未记录的方法来执行此操作,但我不知道。

最后,我必须根据快速入门指南创建一个全新的API,因此创建一个新的内容类型“注册”,并创建自己的使用strapi.plugins['email']和{{ 1}}。

Strapi会自动为您生成模型,文档和路线,但是您必须编辑控制器和服务。

register / config / routes.json

strapi.plugins[users-permissions]

register / controllers / Register.js

{
      "method": "POST",
      "path": "/registers",
      "handler": "Register.create",
      "config": {
        "policies": [],
        "description": "Register a user"
      }
    },

register / services / Register.js(确保公用文件夹中有图像)

module.exports = {
  create: async ctx => {
    try {
      let addUser = await strapi.services.register.registerUser(
        ctx.request.body
      );
      let sendEmail = await strapi.services.register.sendEmail(
        ctx.request.body
      );
      ctx.send({
        user: addUser,
        email: sendEmail
      });
    } catch (err) {
      console.log(err);
    }
  }
};

然后'use strict'; const path = require('path'); module.exports = { registerUser: async data => { let result = await strapi.plugins['users-permissions'].services.user.add({ username: data.username, email: data.email, password: data.password }); return result; }, sendEmail: async data => { console.log(__dirname); let result = await strapi.plugins['email'].services.email.send({ to: data.email, from: 'whatever@whatever.com', replyTo: 'whatever@whatever.com', subject: 'Use strapi email provider successfully', text: 'Hello world foo!', html: 'Embedded image: <img src="cid:my_logo@nodemailer.com"/>', attachments: [ { filename: 'surmile_logo.PNG', path: path.join( __dirname + '/../../../public/uploads/my_logo.png' ), cid: 'my_logo@nodemailer.com' } ] }); return result; } }; strapi buildhttp://localhost:1337/registers发布 json正文

strapi start

确保在管理面板中授予所有人访问该路由的权限 enter image description here

确保your client is properly configured