1
0
Fork 0
mirror of synced 2024-06-21 11:51:00 +12:00

CC and BCC interface

This commit is contained in:
Mel O'Hagan 2022-09-21 15:58:04 +01:00
parent 2787b5498a
commit a5571fc59a
4 changed files with 40 additions and 4 deletions

View file

@ -21,6 +21,14 @@ exports.definition = {
type: "string",
title: "Send From",
},
cc: {
type: "string",
title: "CC",
},
bcc: {
type: "string",
title: "BCC",
},
subject: {
type: "string",
title: "Email Subject",
@ -49,13 +57,21 @@ exports.definition = {
}
exports.run = async function ({ inputs }) {
let { to, from, subject, contents } = inputs
let { to, from, subject, contents, cc, bcc } = inputs
if (!contents) {
contents = "<h1>No content</h1>"
}
to = to || undefined
try {
let response = await sendSmtpEmail(to, from, subject, contents, true)
let response = await sendSmtpEmail(
to,
from,
subject,
contents,
cc,
bcc,
true
)
return {
success: true,
response,

View file

@ -54,7 +54,15 @@ async function checkResponse(response, errorMsg, { ctx } = {}) {
exports.request = request
// have to pass in the tenant ID as this could be coming from an automation
exports.sendSmtpEmail = async (to, from, subject, contents, automation) => {
exports.sendSmtpEmail = async (
to,
from,
subject,
contents,
cc,
bcc,
automation
) => {
// tenant ID will be set in header
const response = await fetch(
checkSlashesInUrl(env.WORKER_URL + `/api/global/email/send`),
@ -65,6 +73,8 @@ exports.sendSmtpEmail = async (to, from, subject, contents, automation) => {
from,
contents,
subject,
cc,
bcc,
purpose: "custom",
automation,
},

View file

@ -10,6 +10,8 @@ exports.sendEmail = async ctx => {
contents,
from,
subject,
cc,
bcc,
automation,
} = ctx.request.body
let user
@ -23,6 +25,8 @@ exports.sendEmail = async ctx => {
contents,
from,
subject,
cc,
bcc,
automation,
})
ctx.body = {

View file

@ -12,7 +12,13 @@ function buildEmailSendValidation() {
return joiValidator.body(Joi.object({
email: Joi.string().email({
multiple: true,
}),
}),
cc: Joi.string().email({
multiple: true,
}),
bcc: Joi.string().email({
multiple: true,
}),
purpose: Joi.string().valid(...Object.values(EmailTemplatePurpose)),
workspaceId: Joi.string().allow("", null),
from: Joi.string().allow("", null),