Question: I am trying to send email to user using `nodemailer` module using node.js but it's throwing the below error.

Error:

```
this.transporter.mailer = this;
                                ^

TypeError: Cannot create property 'mailer' on string 'SMTP'
    at Mail (/opt/lampp/htdocs/heroku/FGDP/node_modules/nodemailer/lib/mailer/index.js:45:33)
    at Object.module.exports.createTransport (/opt/lampp/htdocs/heroku/FGDP/node_modules/nodemailer/lib/nodemailer.js:46:14)
    at Object.<anonymous> (/opt/lampp/htdocs/heroku/FGDP/api/api.js:8:32)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)

```

Here is my code:

```
var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTransport("SMTP",{
    service: "Gmail",
    auth: {
        user: "subhrajyoti@gmai.com",
        pass: "***********"
    }
});

```

Here I need to send mail to the valid user but getting the above error.

Answer: 
I think the correct syntax is something like this 

```
var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTransport({
service: "Gmail",
auth: {
    user: "subhrajyoti@gmai.com",
    pass: "***********"
}
});

```
set your nodemailer config like this.

```
let nodemailerConfig = {
    host:"smtp.gmail.com" ,
    port: 465,
    secure: true, // true for 465, false for other ports
    auth: {
      user: process.env.SMTP_USERNAME,
      pass: process.env.SMTP_PASSWORD
    }
}

```