diff --git a/.env.template b/.env.template index 034693c596a865bfc018a005086dbc3495bb04a1..f5ddf5f1a2595a26d41ace2f9e7779e93a422920 100644 --- a/.env.template +++ b/.env.template @@ -18,6 +18,7 @@ ME_CONFIG_BASICAUTH_PASSWORD=<mongo express password> ME_PORT=<mongo express port> # External API MAIL_URL=<SEN API url> +MAIL_APIKEY=<API MANAGER KEY> MAIL_TOKEN=<SEN API token> MAIL_FROM=<MAIL_FROM> MAIL_CONTACT=<MAIL_CONTACT> diff --git a/docker-compose.yml b/docker-compose.yml index 6754abdd40b3c8c9b181a3fcfdf14acbb906c269..b0b041115d386dbf07b93cf0888c92e66521ecc7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,6 +17,7 @@ services: JWT_SECRET: ${JWT_SECRET} SALT: ${SALT} MAIL_URL: ${MAIL_URL} + MAIL_APIKEY: ${MAIL_APIKEY} MAIL_TOKEN: ${MAIL_TOKEN} MAIL_FROM: ${MAIL_FROM} MAIL_SOSTECH: ${MAIL_SOSTECH} diff --git a/k8s/05-res-secret.yml b/k8s/05-res-secret.yml index 29db86114192c83f7eb889996076a7f3af082f33..36b2a595bbc4cb3de012196686da0df46fc75c19 100644 --- a/k8s/05-res-secret.yml +++ b/k8s/05-res-secret.yml @@ -8,6 +8,7 @@ stringData: MONGO_NON_ROOT_PASSWORD: '$MONGO_NON_ROOT_PASSWORD_K8S' ME_CONFIG_MONGODB_ADMINPASSWORD: '$MONGODB_ROOT_PASSWORD_K8S' ME_CONFIG_BASICAUTH_PASSWORD: '$ME_CONFIG_BASICAUTH_PASSWORD_K8S' + MAIL_APIKEY: '$MAIL_APIKEY_K8S' MAIL_TOKEN: '$MAIL_TOKEN_K8S' GHOST_ADMIN_API_KEY: '$GHOST_ADMIN_API_KEY_K8S' GHOST_CONTENT_API_KEY: '$GHOST_CONTENT_API_KEY_K8S' diff --git a/src/mailer/mailer.service.ts b/src/mailer/mailer.service.ts index 833908295aab54f1bcab9bbbb4d4e79f1056c9c9..29a165573645c87cd6615a979002b225c2599322 100644 --- a/src/mailer/mailer.service.ts +++ b/src/mailer/mailer.service.ts @@ -25,15 +25,19 @@ export class MailerService { }); formData.append('metadata', data); const contentLength = formData.getLengthSync(); + const headers = { + 'Content-Length': contentLength, + Authorization: 'Bearer ' + process.env.MAIL_TOKEN, + ...formData.getHeaders(), + }; + if (process.env.MAIL_APIKEY) { + headers['apikey'] = process.env.MAIL_APIKEY; + } Logger.log(`Send mail to ${JSON.stringify(emailsToSend)} : ${subject}`, 'Mailer'); return new Promise((resolve, reject) => { this.httpService .post(process.env.MAIL_URL, formData, { - headers: { - 'Content-Length': contentLength, - Authorization: 'Bearer ' + process.env.MAIL_TOKEN, - ...formData.getHeaders(), - }, + headers: headers, }) .subscribe( (body) => {