5

I am using nodemailer to send emails. But I would like to send reply to a mail (start a new thread).I have tried sending reply to a mail using the below code

var nodemailer = require('nodemailer');

const subject = 'Hey I am test';

var transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: '*******',
    pass: '*******'
  }
});

const mailOptions = {
  from: 'mymail@gmail.com',
  to: 'receiver@gmail.com',
  subject,
  text: 'Body',
};

transporter.sendMail(mailOptions, function (error, info) {
  if (error) {
    console.log(error);
  } else {
    console.log(info.messageId);
    const threadOptions = {
      from: 'mymail@gmail.com',
      to: 'receiver@gmail.com',
      subject:'Re: ' + subject,
      text: 'This is reply',
      inReplyTo: info.messageId,
      references: [info.messageId]
    };
    transporter.sendMail(threadOptions);
  }
});

But it is sending as a new mail. It was mentioned in the doc using inReplyTo and references fields will start a new thread. But it is not working

Any little help would be really thankful

Willian
  • 3,011
  • 1
  • 15
  • 38
Nikhil Ponduri
  • 409
  • 9
  • 28
  • Are you trying to setup an autoreply system? I mean, firstly a user sends you a message, and then you send an automatic reply? Could you please describe the scenario a bit more? – Towerss Jul 05 '20 at 06:57

2 Answers2

2
  1. Subject of reply mail should be same as Subject of mail sent. When Subject of reply mail and mail to which you have replied are same then reply mail will be in thread of previously sent mail.

  2. You have to define credentials for email account from which you are replying

Sorry for my bad English

Fahad
  • 36
  • 3
1

After research a lot, I think this link can help: https://stackoverflow.com/a/2429134/8270395. And look at this as well: Sending an email to myself but letting me reply back to another email.

Hope this help.

ShinaBR2
  • 2,519
  • 2
  • 14
  • 26