2017-06-20 76 views
1

我在尝试与Nodemailer发送邮件时以下消息:Nodemail发送邮件的火力应用与服务帐户

'535-5.7.8 Username and Password not accepted. 
    Learn more at\n535 5.7.8 https://support.google.com/mail/?p=BadCredentials y42sm13399804wrc.51 - gsmtp', 
    responseCode: 535, 
    command: 'AUTH XOAUTH2' } 

我使用的是服务帐户从一个火力点项目,并授予访问权限GMail API。但nodemailer docs for 2LO is really scarce所以我想知道是否有人可以帮我找到我是否使用正确的凭据?

user (functions.config().gmail.user) : [email protected] 

-

function sendContactMail(contactName, contactEmail, contactDate, contactText) { 


    // Create transport 
    let transporter = nodemailer.createTransport({ 
    host: 'smtp.gmail.com', 
    port: 465, 
    secure: true, 
    auth: { 
     type: 'OAuth2', 
     user: functions.config().gmail.user, 
     serviceClient: functions.config().gmail.client_id, 
     privateKey: functions.config().gmail.private_key 
     //accessToken: 'ya29.Xx_XX0xxxxx-xX0X0XxXXxXxXXXxX0x', 
     //expires: 1484314697598 
    } 
    }); 

    // Mail Options 
    let mailOptions = { 
    from: `"${APP_NAME}" <${SENDER}>`, 
    replyTo: `${contactEmail}`, 
    to: '[email protected]', 
    subject: `Nouveau contact photo de ${contactName}`, 
    html: `Nom : ${contactName}<br/> 
      Email : ${contactEmail}<br/> 
      Date du mariage : ${contactDate}<br/> 
      Message : ${contactText}`, 
    disableFileAccess: true, 
    disableUrlAccess:true 
    }; 

    // Send Mail 
    return transporter.sendMail(mailOptions); 
} 

回答

0

我有这个代码的云功能,它的做工精细。试试这个

mailTransport = nodemailer.createTransport({ 
    service: 'Gmail', 
    auth: { 
    user: ${email}, 
    pass: ${password} 
    } 
}); 
+0

谢谢,但我的东西此方法仅适用如果我启用“不安全模式”上的Gmail,我不想做。我想要使​​用服务帐号和2个有效的OAuth2标识 – Clouddie

相关问题