Adr*_*ama 5 node.js nodemailer
我想问一些关于 nodemailer 的问题,我编写的代码如下
Var client = nodemailer.createTransport ({
Service: 'gmail',
Auth: {
User: 'example@gmail.com', // Your email address
Pass: '123' // Your password},
Tls: {rejectUnauthorized: false}
});
Run Code Online (Sandbox Code Playgroud)
这有效,但在成功交付后,当我必须接收已发送的电子邮件时,我需要启用 Gmail 设置,例如“允许安全性较低的应用程序访问”。我不想设置它。
那么我如何从 example@gmail.com 发送电子邮件到 example1@gmail.com,而不设置“允许安全性较低的应用程序访问”并直接在邮箱中接受消息!!???或者应该添加任何其他插件?
谢谢;)
从Google OAuth2.0 Playground获取accessToken和refreshToken,从Google开发者控制台获取clientId和clientSecret
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:'sender@emailaddress.com',
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: 'sender@emailaddress.com',
to: 'xxx@email.com',
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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1768 次 |
| 最近记录: |