Cloud Stack Ninja

I am trying to send an email based on the entries inside a database using nodemailer. I have tried practically anything I can think of (manually creating an array of Promises and using that in a call of Promise.all(), doing that using a map, etc.), but I always keep getting the same error: UnhandledPromiseRejectionWarning: Error: Message failed: 450 SQLITE_ERROR: cannot start a transaction within a transaction. The nodemailer-documentation clearly states that -- when not passing a callback-fn, the transporter.sendMail()-function is wrapped as a promise. However, when I am manually defining an array of those promises like so...

const transporter = nodemailer.createTransport(serverData);
const mailData = ...;

const arr = [transporter.sendMail(mailData), transporter.sendMail(mailData)];

... the same error already fires even though I have not even 'ran' through that array using Promise.all(); is it a misconception that the functions in the array will only run when I manually specify?

Anyhow, this is my complete code for the database; I am using sequelize to retrieve the data from the database. I have verified that there are no problems on the retrieving-data-from-the-db-side of this task.

class mail extends Model {

  static resendUndeliveredMails(){
        .then((mails) => {
          return Promise.all( mail => {
        .catch((e) => {

Any help would be greatly appreciated! Thank you in advance :).

Read more here:

Content Attribution

This content was originally published by ovda96 at Recent Questions - Stack Overflow, and is syndicated here via their RSS feed. You can read the original post over there.

%d bloggers like this: