Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 05:41
    mk-pmb commented #1343
  • Dec 06 10:04
    andris9 closed #1279
  • Dec 06 10:04
    andris9 commented #1279
  • Dec 06 10:03
    andris9 commented #1281
  • Dec 06 10:03
    andris9 closed #1281
  • Dec 06 10:01
    andris9 closed #1282
  • Dec 06 10:01
    andris9 closed #1283
  • Dec 06 10:01
    andris9 commented #1283
  • Dec 06 10:00
    andris9 closed #1284
  • Dec 06 10:00
    andris9 commented #1284
  • Dec 06 09:59
    andris9 closed #1285
  • Dec 06 09:59
    andris9 commented #1285
  • Dec 06 09:56
    andris9 closed #1288
  • Dec 06 09:56
    andris9 commented #1288
  • Dec 06 09:54
    andris9 closed #1290
  • Dec 06 09:54
    andris9 commented #1290
  • Dec 06 09:54
    andris9 closed #1291
  • Dec 06 09:53
    andris9 closed #1293
  • Dec 06 09:53
    andris9 closed #1299
  • Dec 06 09:53
    andris9 commented #1299
Andris Reinman
@andris9
@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
safalt
@safalt
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
@andris9
you probably have a MITM somewhere, either your company firewall or a virus scanner. Gmail MTA most definitely has a valid cert.
Tommy
@tommymaher15

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?
RajTh
@RajTh
Hi Team
I am facing issue for the below code:

import as fs from 'fs';
import
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(
myCreds.client_id,
myCreds.client_secret,
myCreds.redirect_uris[0]
),
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) => {
        gmail.users.messages.list({
            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) => {
        gmail.users.messages.get({
            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');
                        return;
                    }
                    if (err) {
                        console.log('Email not found!');
                        reject(err);
                    } else {
                        console.log('Email found!');
                        resolve(res);
                    }
                });
            });
        } catch (err_1) {
            reject(err_1);
        }
    })
}

}

Issue part is:
static getAuth() {
    let auth = new googleAuth(),
        oauth2Client = new auth.OAuth2(
            myCreds.client_id,
            myCreds.client_secret,
            myCreds.redirect_uris[0]
        ),
    oauth2Client.credentials = {"client_id": "159ab9cfa0b5f30e",};
    return oauth2Client;
}
please help!
Daniel Mulvad
@danielmulvad
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
@danielmulvad
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
xingnan923
@xingnan923
Hello, Everyone.
I got some error when I try to send email by gmail.
ERROR Error: connect ETIMEDOUT 74.125.131.108:587
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
errno: -4039,
code: 'ESOCKET',
syscall: 'connect',
address: '74.125.131.108',
port: 587,
command: 'CONN'
}
1 reply
This is error message.
Please help me to solve this problem.
Subhrajyoti Pradhan
@subhrajyotiw5rtc
Hi

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 ?
RamiroAisen
@ramiroaisen
I think your problem is that DNS is not resolving to that host, try dig aaa.bbb.aro.com.br to check that
RamiroAisen
@ramiroaisen
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
Sergio Mendoza Matos
@sergiomdza
image.png