Merge pull request #639 from Hexastack/fix/mailing

fix: nest mailing + minor css tweaks
This commit is contained in:
Med Marrouchi 2025-01-28 19:44:55 +01:00 committed by GitHub
commit 1b219c42c3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 41 additions and 11 deletions

View File

@ -4,6 +4,9 @@
"sourceRoot": "src",
"compilerOptions": {
"deleteOutDir": true,
"assets": [{ "include": "config/i18n/**/*", "watchAssets": true }]
"assets": [
{ "include": "config/i18n/**/*", "watchAssets": true },
{ "include": "templates/**/*.mjml", "watchAssets": true }
]
}
}

View File

@ -1,3 +1,30 @@
diff --git a/node_modules/@nestjs-modules/mailer/dist/adapters/mjml.adapter.js b/node_modules/@nestjs-modules/mailer/dist/adapters/mjml.adapter.js
index 5eb7a4a..afaaaa9 100644
--- a/node_modules/@nestjs-modules/mailer/dist/adapters/mjml.adapter.js
+++ b/node_modules/@nestjs-modules/mailer/dist/adapters/mjml.adapter.js
@@ -26,8 +26,20 @@ class MjmlAdapter {
compile(mail, callback, mailerOptions) {
var _a;
(_a = this === null || this === void 0 ? void 0 : this.engine) === null || _a === void 0 ? void 0 : _a.compile(mail, () => {
- mail.data.html = mjml2html(mail.data.html).html;
- callback();
+ Promise.resolve(mail.data.html).then((html) => {
+ Promise.resolve(mjml2html(html)).then((result) => {
+ mail.data.html = result.html;
+ callback();
+ }).catch((err) => {
+ console.error('@nestjs-modules/mailer: Unable to convert mjml to html', err)
+ mail.data.html = '';
+ callback();
+ })
+ }).catch((err) => {
+ console.error('@nestjs-modules/mailer: Unable to compiling mjml', err)
+ mail.data.html = '';
+ callback();
+ })
}, mailerOptions);
}
}
diff --git a/node_modules/@nestjs-modules/mailer/dist/mailer.service.js b/node_modules/@nestjs-modules/mailer/dist/mailer.service.js
index 016055b..d534240 100644
--- a/node_modules/@nestjs-modules/mailer/dist/mailer.service.js

View File

@ -72,7 +72,7 @@ const i18nOptions: I18nOptions = {
}),
template: {
adapter: new MjmlAdapter('ejs', { inlineCssEnabled: false }),
dir: './src/templates',
dir: path.join(process.cwd(), 'dist', 'templates'),
options: {
context: {
appName: config.parameters.appName,

View File

@ -2,8 +2,8 @@
<mj-body>
<mj-section>
<mj-column>
<mj-image width="100px" src="/assets/logo.png"></mj-image>
<mj-divider border-color="#048BA8"></mj-divider>
<mj-image width="186px" src="https://hexabot.ai/assets/images/logo.png"></mj-image>
<mj-divider border-color="#000"></mj-divider>
<mj-text font-size="16px" color="#000" font-family="helvetica"
><%= t('hi') %> <%= first_name %>,</mj-text
>
@ -17,7 +17,7 @@
<mj-button
href="<%= this.appUrl %>/login/<%= token %>"
font-size="16px"
background-color="#F45E43"
background-color="#000"
><%= t('confirm') %></mj-button
>
</mj-column>

View File

@ -2,8 +2,8 @@
<mj-body>
<mj-section>
<mj-column>
<mj-image width="100px" src="/assets/logo.png"></mj-image>
<mj-divider border-color="#048BA8"></mj-divider>
<mj-image width="186px" src="https://hexabot.ai/assets/images/logo.png"></mj-image>
<mj-divider border-color="#000"></mj-divider>
<mj-text font-size="16px" color="#000" font-family="helvetica">
<%= t('welcome') %>,
</mj-text>
@ -19,7 +19,7 @@
<mj-button
href="<%= this.appUrl %>/register/<%= token %>"
font-size="16px"
background-color="#F45E43"
background-color="#000"
><%= t('join') %></mj-button
>
</mj-column>

View File

@ -2,8 +2,8 @@
<mj-body>
<mj-section>
<mj-column>
<mj-image width="100px" src="/assets/logo.png"></mj-image>
<mj-divider border-color="#048BA8"></mj-divider>
<mj-image width="186px" src="https://hexabot.ai/assets/images/logo.png"></mj-image>
<mj-divider border-color="#000"></mj-divider>
<mj-text font-size="16px" color="#000" font-family="helvetica"
><%= t('hi') %> <%= first_name %>,</mj-text
>
@ -16,7 +16,7 @@
<mj-button
href="<%= this.appUrl %>/reset/<%= token %>"
font-size="16px"
background-color="#F45E43"
background-color="#000"
><%= t('reset') %></mj-button
>
</mj-column>