I create a project and follow all step written in answer of Nodemailer/Gmail - What exactly is a refresh token and how do I get one? but i am error.
I use following code:
var smtpTransport = nodemailer.createTransport("SMTP", {
service: "Gmail",
connectionTimeout : "7000",
greetingTimeout : "7000",
auth: {
XOAuth2: {
user: "",
clientId: "",
clientSecret: "",
refreshToken: ""
}
}
});
var mailOptions = {
from: "",
to:usersEmailId,
subject: 'subject',
html: 'string Of Html'
}
smtpTransport.sendMail(mailOptions, function(error, response){
if(error){
console.log(error);
}else{
console.log("Message sent: " + response.message);
}
smtpTransport.close();
});
Getting following error
{ [Error: Connection timeout] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', stage: 'init' }
{ [Error: Connection timeout] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', stage: 'init' }
{ [XOAUTH2Error: invalid_client] name: 'XOAUTH2Error', stage: 'auth' }
{ [XOAUTH2Error: invalid_client] name: 'XOAUTH2Error', stage: 'auth' }
and my second question is how to send attachment. I have only name of file and url
of file.
Use this because path wrong in nodemailer doc. this is issue in nodemailer use filepath this is working
attachments : [
{ // file on disk as an attachment
filename: 'name Of File',,
filePath : 'url of file' // stream this file
},
],
alternatives : [
{ // file on disk as an attachment
filename: 'name Of File',
filePath : 'url of file' // stream this file
},
],