Tag: nodemailer

React + Express + Nodemailer:无法将组件和Nodemailer渲染在一起

我想使用客户端路由来呈现我的React应用程序,并且想要使用Nodemailer发送邮件。 由于Nodemailer不能在客户端使用,我必须在Express服务器上实现此function。 这就是服务器的样子: express.js router.use(express.static(path.resolve(__dirname, '..', 'build'))) router.get('*', (req, res) => { res.sendFile(path.resolve(__dirname, '..', 'build/index.html')) }) router.get('/sendmail', (req, res) => { transporter.sendMail(options, (error, info) => { if (error){ console.log(error) } console.log('Message was send!') }) }) 1)所以这呈现了React组件,但是当我路由到'/ sendmail'时显示一个空白页面,index.html被渲染为没有js,并且没有邮件被发送。 2)如果我删除第一行router.use(express.static…并路由到'/ sendmail'邮件被发送,但我的应用程序不会呈现。 另外我已经尝试了以下内容: router.use(express.static(path.resolve(__dirname, '..', 'build'))) router.get('*', (req, res) => { console.log('path', req.path) if (req.path === '/sendmail') { […]

Node.js的帮助,如何发送客户端请求到一个电子邮件?

我一直在努力Node.js,我想要做的一件事是如何发送客户端请求到实际的电子邮件,而不是我的服务器。 例如,我被一个企业聘用,客户端点击“提交”,电子邮件被发送到该企业的电子邮件或他们正在尝试联系。 任何人都知道响应方法是什么? 我似乎无法在网上find任何教程,而Nodemailer教程都是关于从服务器发送电子邮件,这不是我想要做的。

如何使用nodemailer为NodeJS应用程序在后台发送电子邮件?

我正在构build一个Angular 4和Node应用程序。 一旦任何用户在前端注册,我将其数据存储在数据库中,然后想要使用nodemailer包向他们发送成功的注册电子邮件。 这是Node js代码: router.post('/', function(req, res, next) { SOME_DATABASE_FUNC() { if(FAILED_CASE) { return res.status(500).json({ title: 'An error occurred', status: 500, error: error }); var mailOptions {…} transporter.sendMail(mailOptions, function (error, info) { if (error) { console.log(error); return res.status(500).json({ title: 'An error occurred', status: 500, error: error }); } console.log('Message', info.messageId, info.response); return res.status(200).json({ message: […]

在Array.map函数中使用await

在迭代数组之前,我需要等待一个asynchronous函数完成,我需要等待parsing的asynchronous函数如下: static async sendEmail (from, to, subject, text) { return new Promise((resolve, reject) => { let message = { from, to, subject, text }; AMMailing.transporter.sendMail(message, function (err, response) { if (err) { reject(err); } else { resolve(response); } }); }); } 这是我在数组中迭代的方式的代码,并试图等待它解决再次迭代之前: static sendEmailInQueue (queue) { queue.map(async (person, index) => { console.log('sending email to: ', […]

无法从任何提供程序nodemailer aws加载凭据

我一直在努力寻找一个解决我的问题一段时间。 我一直在尝试使用nodemailer和nodemailer-ses-transport。 这里是nodemailer代码: var cfg = require('../config/config'); var nodemailer = require('nodemailer'); var aws = require('nodemailer-ses-transport'); var transporter = nodemailer.createTransport(aws({ accessKeyId: cfg.KEY, secretAccessKey: cfg.SKEY, default_region: cfg.REG, ratelimit: 5 })); router.post('/signup', function(req, res, next){ passport.authenticate('local.signup', function(err, user, info) { if (err) { return next(err); } // Redirect if it fails if (!user) { return res.redirect('/signup'); } req.logIn(user, […]

Nodemailer:错误连接超时

我正在尝试使用nodemailer发送邮件,并在30-40秒后引发“连接超时”错误。 早些时候,相同的代码工作,但在更新nodemailer和nodejs后,它停止工作。 nodemailer“:”^ 4.1.0 nodeJs:v8.4.0 npm:5.4.1 请帮助,在此先感谢。 这是一个痕迹: { Error: Connection timeout at SMTPConnection._formatError (/root/apps/aprampar/node_modules/nodemailer/lib/smtp-connection/index.js:577:19) at SMTPConnection._onError (/root/apps/aprampar/node_modules/nodemailer/lib/smtp-connection/index.js:550:20) at Timeout._connectionTimeout.setTimeout (/root/apps/aprampar/node_modules/nodemailer/lib/smtp-connection/index.js:253:18) at ontimeout (timers.js:469:11) at tryOnTimeout (timers.js:304:5) at Timer.listOnTimeout (timers.js:264:5) code: 'ETIMEDOUT', command: 'CONN' }

nodemailer和zoho电子邮件问题'530必须首先发出STARTTLS命令。

我正在使用最新版本的nodemailer 4.1.0版本。 我尝试使用这里的示例代码https://nodemailer.com/smtp/ 这是我的代码 let transporter = nodemailer.createTransport({ host: 'smtp.zoho.com', port:587, secure: false, auth: { user: this.user, pass: this.password } }); var mailOptions: nodemailer.SendMailOptions = { from: ****@***.com, to: test@abc.com, subject: 'Hello ✔', text: 'Hello world ✔', html: '<b>Hello world ✔</b>' }; transporter .sendMail(mailOptions) .then( (info) => { // console.log(info); resolve({status: info.messageId}) } ) .catch(err […]

Nodemailer不断拒绝无效login身份validation(不使用Gmail)

我现在正在绕过这个最奇怪的问题。 我正在使用nodemailer和postfix发送电子邮件。 以下代码不起作用,给我以下错误: Error: Invalid login: 503 5.5.1 Error: authentication not enabled let transporter = nodemailer.createTransport({ host: 'mydomain.com', port: 465, secure: false, // true for 465, false for other ports auth: { user: 'no-reply', // user pass: 'a-hundred-percent-the-right-password' // password } }); 但更奇怪的是(更接近吓人),没有指定任何凭据的相同代码工作正常! (但当然电子邮件正在进入垃圾邮件)。 有没有人知道我可以做错什么?

使用nodemailer通过zimbra smtp发送没有密码的电子邮件

即时通讯使用nodemailer发送电子邮件在web应用程序中使用keystonejs作为cms。 Web应用程序存储在服务器中,而电子邮件服务器存储在其他服务器中,但服务器之间的SMTP通信不需要密码。 现在,我需要发送电子邮件给其他人在需要使用通用帐户没有密码字段,因为是不是必须的。 这是我的nodemailerconfiguration: var selfSignedConfig = { host: 'smtp.abc.cu', port: 25, secure: false, // use TLS auth: { user: email.email, pass: email.password //NOT REQUIRED }, tls: { // do not fail on invalid certs rejectUnauthorized: false } }; var transporter = nodemailer.createTransport(selfSignedConfig); // verify connection configuration 和: "email": { "email": "abcde@abc.cu", "password": "" } […]

将ExpressJS视图ejs渲染保存为一个variables

我正在设置一个从Expressjs启动的确认邮件。 这个电子邮件模板是在html(现在ejs),我需要传递variables,所以我可以稍后保存在一个variables,并发送给nodemailer。 我试图做这样的事情成功: var final_html = res.render('confirm', {variables: 'aasdad'}); NodeMailer代码: var mailOptions = { from: test@test.com, // sender address to: 'test@test.com', // list of receivers subject: 'Welcome '+req.body.name, // Subject line html: final_html }; 怎么能做到这一点? 提前致谢! PD:发布答案编号: var final_html = res.render('confirm', {url: 'aasdad'}, function(err, html) { if (err){ return err;} return html; });