2017-08-12 40 views
2

我想問一些關於nodemailer,我做出這樣的代碼接受郵件的nodemailer沒有設置「允許不夠安全的應用訪問」

Var client = nodemailer.createTransport ({ 
Service: 'gmail', 
Auth: { 
User: '[email protected]', // Your email address 
Pass: '123' // Your password}, 
Tls: {rejectUnauthorized: false} 
}); 

而這個工作,但成功交付,當我有後接收已發送的電子郵件,我需要啓用像「允許安全性較低的應用程序訪問」 Gmail設置。我不想設置它。

那麼,如何從[email protected]發送電子郵件[email protected],沒有設置「允許安全性較低的應用程序訪問」和消息中的郵箱直接接受!! ???或者應該添加任何其他插件?

THANX;)

回答

1

從谷歌的OAuth2.0遊樂場, 的clientId & clientSecret從谷歌開發者控制檯獲取的accessToken & refreshToken

const nodemailer = require('nodemailer'); 
const xoauth2 = require('xoauth2'); 
var express = require('express'); 
var router = express.Router(); 


var smtpTransport = nodemailer.createTransport('SMTP',{ 
    service:"Gmail", 
    auth:{ 
    XOAuth2: { 
     user:'[email protected]', 
     clientId: 'your-client-id', 
     clientSecret: 'your-cliet-secret', 
     accessToken:'your-access-token', 
     refreshToken: 'your-refresh-token' 

    } 
    } 
}); 

router.get('/emaildemo', function(req, res, next) { 

    var mailOptions = { 
    from: '[email protected]', 
    to: '[email protected]', 
    subject: 'TEST SUBJECTT', 
    text: 'TEST MAIL', 
}; 
smtpTransport.sendMail(mailOptions, function(error, info){ 
    if(error){ 
console.log('Error Occured', error); 
    return res.send(error); 
    } 
    return res.send("mail send successfully"); 
}); 

}); 
module.exports = router; 
+0

嘿感謝名單維卡斯·塔庫爾, 後,我用XOAuth2爲什麼在刷新部分令牌有一個活躍的時期,只是給2000秒如果是過去的那個時候,我必須刷新令牌復位,並刷新令牌改怎麼處理呢? –

相關問題