@bitblit/ratchet-misc
Version:
Ratchet miscellaneous tooling that requires smallish dependant libraries
36 lines • 1.35 kB
JavaScript
import { Logger } from '@bitblit/ratchet-common/logger/logger';
import { ErrorRatchet } from '@bitblit/ratchet-common/lang/error-ratchet';
export class BrevoMailSendingProvider {
brevo;
constructor(brevo) {
this.brevo = brevo;
}
async sendEmail(rts) {
try {
const api = await this.brevo.smtpApi();
if (rts?.attachments?.length) {
throw ErrorRatchet.fErr('Cannot send email with attachments yet, not supported');
}
const sendSmtpEmail = {
subject: rts.subject,
htmlContent: rts.htmlMessage,
sender: { name: rts.fromName, email: rts.fromAddress || 'a@a.com' },
to: (rts.destinationAddresses || []).map((s) => {
return { email: s };
}),
bcc: rts?.bccAddresses?.length
? rts.bccAddresses.map((s) => {
return { email: s };
})
: undefined,
};
const output = await api.sendTransacEmail({ sendSmtpEmail: sendSmtpEmail });
return output;
}
catch (err) {
Logger.error('Failed to send email: %s', err, err);
throw err;
}
}
}
//# sourceMappingURL=brevo-mail-sending-provider.js.map