diff --git a/bootstrap/bootstrap.mjs b/bootstrap/bootstrap.mjs index 3df2a8c..e4ad860 100644 --- a/bootstrap/bootstrap.mjs +++ b/bootstrap/bootstrap.mjs @@ -574,6 +574,7 @@ const collections = [ f('body', 'text', { interface: 'input-rich-text-html', note: 'Text (WYSIWYG/HTML). Platzhalter in {{...}}.' }), f('append_signature', 'boolean', { interface: 'boolean', default: true, note: 'Signatur automatisch anhängen (bei Mails mit eigenem Footer aus).' }), f('attach_agb', 'boolean', { interface: 'boolean', default: false, note: 'AGB-PDF an diese Mail anhängen.' }), + f('bcc_team', 'boolean', { interface: 'boolean', default: false, note: 'Kopie an mich (Team-Adresse aus email_settings) als BCC senden.' }), f('enabled', 'boolean', { interface: 'boolean', default: true }), ] }, diff --git a/extensions/directus-extension-skrift-mailer/dist/index.js b/extensions/directus-extension-skrift-mailer/dist/index.js index f6315b8..c10b0ec 100644 --- a/extensions/directus-extension-skrift-mailer/dist/index.js +++ b/extensions/directus-extension-skrift-mailer/dist/index.js @@ -97,7 +97,7 @@ export default (register, { services, getSchema, logger }) => { async function loadTemplate(key, schema) { const rows = await new ItemsService('email_templates', { schema, accountability: null }).readByQuery({ filter: { key: { _eq: key }, enabled: { _eq: true } }, - limit: 1, fields: ['subject', 'body', 'append_signature', 'attach_agb'], + limit: 1, fields: ['subject', 'body', 'append_signature', 'attach_agb', 'bcc_team'], }); return rows?.[0] || null; } @@ -105,7 +105,7 @@ export default (register, { services, getSchema, logger }) => { async function loadSettings(schema) { try { return await new ItemsService('email_settings', { schema, accountability: null }) - .readSingleton({ fields: ['signature', 'portal_url', 'company_footer', 'agb_file', 'sender_name', 'sender_email'] }); + .readSingleton({ fields: ['signature', 'portal_url', 'company_footer', 'agb_file', 'sender_name', 'sender_email', 'team_email'] }); } catch { return {}; } } @@ -227,6 +227,8 @@ export default (register, { services, getSchema, logger }) => { const anhang = await agbAnhang(schema, settings); if (anhang) nachricht.attachments = [anhang]; } + // „Kopie an mich" (pro Vorlage): Team-Adresse als BCC (Kunde sieht sie nicht). + if (tpl.bcc_team && settings.team_email) nachricht.bcc = String(settings.team_email).trim(); await new MailService({ schema, accountability: null }).send(nachricht); logger.info(`[skrift-mailer] „${key}" an ${order.customer_email} (${order.order_number}).`); }