Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • 05:36
    2Ayush4 commented #1293
  • Oct 27 15:04
    next-andre-gama commented #1075
  • Oct 26 16:43
    thecatwest commented #847
  • Oct 26 16:02
    afzdev13 commented #1301
  • Oct 26 16:00
    afzdev13 commented #1301
  • Oct 25 07:29
    chenxiaoba commented #1341
  • Oct 24 23:31
    mk-pmb opened #1343
  • Oct 22 04:08
    danielepolencic opened #1342
  • Oct 21 19:11
    jwmickey opened #1341
  • Oct 20 13:15
    bodas80 commented #1218
  • Oct 20 10:44
    bodas80 commented #1218
  • Oct 20 09:41
    andris9 closed #1340
  • Oct 20 09:41
    andris9 commented #1340
  • Oct 20 09:13
    nraj-willow opened #1340
  • Oct 19 20:41
    antonstech commented #1334
  • Oct 18 11:07
    1njm commented #1334
  • Oct 15 17:27
    amjedomar commented #1323
  • Oct 14 21:16
    antonstech commented #1334
  • Oct 14 11:43
    1njm commented #1334
  • Oct 14 05:01
    andris9 commented #1323
Michael Khoroshun
hi, can anyone help me to figure out what the problem is?
I have the following config:
"mailer": { "host": "email-smtp.eu-central-1.amazonaws.com", "port": 2587, "secure": true, "auth": { "user": "user", "pass": "pass" }
And code:
let transporter = nodemailer.createTransport(app.get('mailer')); app.use('/mailer', mailer(transporter));
It ends up with:
Error: connect ECONNREFUSED
But in the same time from terminal
telnet email-smtp.eu-central-1.amazonaws.com 2587
Trying Connected to email-smtp.eu-central-1.amazonaws.com. Escape character is '^]'. 220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-W0F3CN0 OMZCUaPbOVT1Ookc
What can be the problem here?
Try to add rejectUnauthorized: false
Daniel Marcano
Could anyone help me with nodemailer and sending emails through SMTP?
For now it only works if I use tls: { rejectUnauthorized: false }
But I take it this would allow MITM attacks for my site... and that's not the point, of course.
The thing is that I do not understand what is it that I need to add as a Certificate Authority, nor how.
And have not found any clear/straightforward information on this on the web...
Lean Junio
Hey guys, has anyone gotten success with sending using sendmail?
Paulo Azevedo
Hello guys. Is there a way to send a PLAIN TEXT email with Node Mailer?
Hi, I need help to make my project work.
hello guy! I an error during installing nodemailer using npm
@gacto I get an error*
Dennis Prochniak
Error: connect ECONNREFUSED
const transport = nodemailer.createTransport({direct: true})
trying to send to gmail...
is there an option to directly connect to rcpt smpt?
Dennis Prochniak
I want to replicate $ swaks --to myemail@gmail.com -- from myemail@gmail.com
nodemailer with direct transport should attempt contacting gmails smtp
not localhost

hello guys, how to add a certificate?? i am using this its works on local but not live server

let transporter = nodemailer.createTransport({ host: "ro*****.com", port: 465, secure: true, auth: { user: "devel********p.com", pass: "4*******$" }, tls: { rejectUnauthorized: false } });

Hi guys, I am trying to embed pdf in email body. Is there a way to do it?(Note: Not as an attachment)
Joey Merino
react - express- nodemailer w 0auth2 crash post req on deployment but fine in local
Hi guys, I've tried almost everything and I simply can't run nodemailer. I always get this error: TypeError: Cannot create property 'mailer' on string 'SMTP'
Andris Reinman
@damiantoczek please follow Nodemailer documentation for setting up the transport object. From that error message it seems like you are using older Nodemailer configuration that was deprecated already in 2014. This configuration has not worked for the past 6 years. https://nodemailer.com/about/#example
Hi guys, On localhost mailer service is working fine but when i deployed on server it's giving me error like
Hostname/IP does not match certificate's altnames: Host: smtp.gmail.com. is not in the cert's altnames
Andris Reinman
you probably have a MITM somewhere, either your company firewall or a virus scanner. Gmail MTA most definitely has a valid cert.

Hey guys. I'm looking to send a string as text as it stores a link to a csv file.

Unsure how to do this correctly

Can anyone recommend the best way to do this?
Hi Team
I am facing issue for the below code:

import as fs from 'fs';
as _ from 'lodash';
import {browser} from "protractor";

let retry = require('retry'),
googleAuth = require('google-auth-library'),
google = require('googleapis'),
gmail = google.gmail('v1');

export class GmailHelper {
// Getting an auth object
static getAuth() {
let auth = new googleAuth(),
oauth2Client = new auth.OAuth2(
oauth2Client.credentials = {"client_id": "159ab9cfa0b5f30e",};
return oauth2Client;

// Converts the query passed as an object into a string
private static convertQuery(query: any): string {
    return _.map(query, (operator, item) => `${item}:${operator}`).join(' ');

// Retrieve a list of emails, matching the specified query,  from the authenticated inbox. The query is an object like: {from: ''}
async searchForEmails(query: any): Promise<Array<any>> {
    const res_1 = await this.googleCallWrapper((cb: any) => {
            auth: GmailHelper.getAuth(),
            userId: 'me',
            q: GmailHelper.convertQuery(query)
        }, cb);
    }, (err: any, res: { messages: any; }) => {
        return err ? err : res.messages == undefined;
    return res_1.messages;

// Retrieve the full data of a specific email from the authenticated inbox
async getEmailContent(id: any): Promise<any> {
    const res_1 = await this.googleCallWrapper((cb: any) => {
            auth: GmailHelper.getAuth(),
            userId: 'me',
            id: id
        }, cb);
    }, (err: any, res: any) => {
        return err;
    return res_1;

// Wraps all types of gmail calls into promise notation and retries the call x number of times with a scaling up timeout
// Also performs `browser.waitForAngular()` before the call in order to allow the operation on the page to finish before 
// checking for the email
* @param googleCall {Function(googleCallback: Function) : Void} a function which performs a GoogleAPI call. When called, it is passed a GoogleAPI callback function which needs to be passed to the GoogleAPI
* @param shouldRetry {Function(error: string, response: Object) : boolean} a function which decides whether we should retry the GoogleAPI call. When called, it is passed the same arguments as the GoogleAPI callback function. It should return true if an error occurred or if the response is not satisfactory
googleCallWrapper(googleCall: Function, shouldRetry: Function): Promise<any> {
    return new Promise(async (resolve, reject) => {
        let operation = retry.operation({
            retries: 4,
            minTimeout: 1000,
            maxTimeout: 3000,
            factor: 1.5,
        try {
            await browser.waitForAngular();
            return operation.attempt(function (currentAttempt: any) {
                googleCall((err: any, res: any) => {
                    if (operation.retry(shouldRetry(err, res))) {
                        console.log('Retrying the email check');
                    if (err) {
                        console.log('Email not found!');
                    } else {
                        console.log('Email found!');
        } catch (err_1) {


Issue part is:
static getAuth() {
    let auth = new googleAuth(),
        oauth2Client = new auth.OAuth2(
    oauth2Client.credentials = {"client_id": "159ab9cfa0b5f30e",};
    return oauth2Client;
please help!
Daniel Mulvad
Howdy guys, I'm sure this has been asked before, but I can't seem to find the answer online. I cannot send emails when running nodemailer in a alpine-node docker container.
here is my config:
    const mail = nodemailer.createTransport({
      host: 'smtp.office365.com',
      port: 587,
      secure: false,
      auth: {
        user: process.env.SMTP_USERNAME,
        pass: process.env.SMTP_PASSWORD
this is my error:
mail error:  Connection timeout {"code":"ETIMEDOUT","command":"CONN","stack":"Error: Connection timeout\n    at SMTPConnection._formatError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:774:19)\n    at SMTPConnection._onError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:760:20)\n    at Timeout.<anonymous> (/app/node_modules/nodemailer/lib/smtp-connection/index.js:229:22)\n    at listOnTimeout (node:internal/timers:556:17)\n    at processTimers (node:internal/timers:499:7)","timestamp":"2021-02-01 19:19:49"}
Daniel Mulvad
I've read the documentation that says: Check your firewall settings. Timeout usually occurs when you try to open a connection to a port that is firewalled either on the server or on your machine. but the ports are open in docker
Hello, Everyone.
I got some error when I try to send email by gmail.
ERROR Error: connect ETIMEDOUT
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
errno: -4039,
code: 'ESOCKET',
syscall: 'connect',
address: '',
port: 587,
command: 'CONN'
This is error message.
Please help me to solve this problem.
Subhrajyoti Pradhan

I am getting this error while trying to send email via nodemailer.

"code": "EDNS",
"errno": "ENOTFOUND",
"syscall": "getaddrinfo",
"hostname": "aaa.bbb.aro.com.br",
"command": "CONN"

Can anybody help me to resolve this ?
I think your problem is that DNS is not resolving to that host, try dig aaa.bbb.aro.com.br to check that
Hello, I'm having an issue with gmail and nodemailer, I'm connecting using imap.gmail.com and Application Passwords, the script connect successfully, it passes de verifyOnly check but when i do fetch({ address: "some@address.com" }) it fails with Command failed error, no more output than that :(, can anyone help me?
I'm using imapflow, not nodemailer, sorry