我正尝试使用trapi-provider-email-nodemailer发送带有附件的确认电子邮件。插件clearly supports attachments,但我不知道我应该在trapi后端中添加这些附件。有人知道如何在通过trapi-nodemailer发送的电子邮件中添加附件吗?
答案 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 build
向http://localhost:1337/registers发布
json正文
strapi start