Tag: nodemailer

为什么在使用nodemailer时出现这个错误? SSL23_GET_SERVER_HELLO:未知

我正在使用nodemailerbuild立一个通知应用程序,我一直得到这个错误: [Error: 140735155404800:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:794:] 我正在使用我的工作有一个smtp服务器。 我是一个smtp noob所以任何帮助将不胜感激。 我已经发送没有任何传输方法的电子邮件,但几封电子邮件后,邮件对象会报告我的电子邮件被置于“挂起状态”: {"accepted":[],"rejected":[],"pending":[{"domain":"xxxxx.com","exchange":"xxxx.xxxx.com",… 当我尝试直接连接到主机时也会发生上述消息。 这是我的代码: //import nodemailer var nodemailer = require('nodemailer'); // create reusable transporter object using SMTP var transporter = nodemailer.createTransport({ host: 'chelsmtp01.karmalab.net', port: '25', secure:true, }); //email details var mailOptions = { from: 'XXX', // sender address to: 'XXX', // list of receivers subject: stitle, // […]

用ejs和节点创builddynamichtml

我试图发送dynamic邮件到使用表单提交的电子邮件ID。 以下是我的app.js代码。 //Importing Packages var express = require('express'); var nodemailer = require('nodemailer'); var bodyParser = require('body-parser'); //Applying Express,Ejs to Node app = express(); app.set('view engine', 'ejs'); app.use(bodyParser.urlencoded({extended:true})); //Creating Nodemailer Transport var transporter = nodemailer.createTransport({ host: 'smtp.zoho.com', port: 465, secure: true, auth: { user: 'noreply@*****.com', pass: '******' } }); //Root Route Setup app.get('/', function(req, res){ res.render("landing") […]

带有Gmail“发件人:地址”的Nodemailer不会更改

我正尝试将电子邮件发送给我的邮件列表中的任何新订阅者。 一切都很好,但“发件人”的电子邮件地址不会改变为“noreplay”,它仍然是我authentication的电子邮件,在这种情况下,我的工作邮件。例如,如果我将“from”设置为“noreply @ example .com“发送来自”jaafar@example.com“的邮件,这是我的代码: if (snapshot.child("subscribed").val() === 'true') { var value = snapshot.child("email").val(); //ignore this var key = snapshot.key; //ignore this var mailHtml = val.htmlText1 + httpLink + key + val.htmlText2; //ignore this let mailOptions = { from: '"JaafarsCompany" <noreply@jaafarsCompany.io>', // sender address to: value, // list of receivers subject: 'Hello', // Subject line […]

nodemailer不停止发送邮件

我有一个简单的nodemailer安装程序发送电子邮件没有问题。 我唯一不知道的是如何阻止它一旦开始发送。 我点击发送,它发送一封电子邮件,但页面不断加载,很快我收到另一封电子邮件等。当然,它应该只发送一封电子邮件,并closures过程。 有人可以看到我在这里做错了吗? var smtpTransport = nodemailer.createTransport('SMTP', { host: 'mail.francotanzarella.com', secureConnection: false, port: 587, auth: { user: 'contact@francotanzarella.com', pass: '***' } }); app.post('/contact', function(req, res) { var htmlTpl = '<h4>Message from' + ' ' + req.body.name + '</h4><p><span>' + req.body.email + '</span</p><p>' + req.body.message + '</p>'; mailOptions = { from: 'noreply@francotanzarella.com', to: 'contact@francotanzarella.com', subject: […]

Nodemailer发送base64数据URI作为附件。 怎么样?

基本上我有一个使用Canvas创build的图像,它使用base64编码的数据URI。 这个数据URI然后被附加到电子邮件。 …, attachments:[{ fileName: "cat.jpg", contents: new Buffer(cat, 'base64') }], 收到电子邮件,但附件不可见。 在linux中运行$ file cat.jpg返回: cat.jpg: ASCII text, with very long lines, with no line terminators 为什么这个ASCII? 我已经提到了base64。 我该如何解决这个问题? 谢谢。

使用Nodemailer在Angular中创build联系人表单

我正在尝试为我的网站创build一个联系表单。 我正在使用MEAN堆栈,所以nodemailer模块似乎是有意义的使用。 我已经创build了一个端点'/api/contact'来接受一个POST请求,并使用该请求上的数据来发送邮件。 然后,我在我的angular度应用程序,它提交调用一个函数,使一个http的forms。 希望这听起来是正确的。 另外,我一直在使用Yeoman angular-fullstack生成器,所以我的代码遵循这个结构。 当应用程序加载,虽然在我的控制台,我看到一个500错误代码,然后当我看在日志中,我看到在我的contact.controller阅读和body属性错误。 这是我的代码: app.js … var express = require('express'); — // Setup server var app = express(); var server = require('http').createServer(app); require('./config/express')(app); require('./routes')(app); // Start server server.listen(config.port, config.ip, function () { console.log('Express server listening on %d, in %s mode', config.port, app.get('env')); }); // Expose app exports = module.exports = […]

在nodeMailer中设置附件path的正确方法是什么?

我是Nodejs世界的新手。 我想发送一个电子邮件与embedded式图像。 但是我的图片没有在电子邮件中显示。 我认为这可能是关于我的文件path设置。 这里是我的mailOptions, var mailOptions = { from: 'mymail@gmail.com', to: to, subject: subject, html: html, attachments: [{ filename: "logo.png", filePath: "/images/logo.png", cid: "logo-mail" }] }; 而我的目录,保持我的静态文件是 myproject/ assets/ images/ js/ styles/ 这是我的HTML, <img src="cid:logo-mail" /> 这是我在电子邮件中的结果, <img src="cid.php?mid=e_ZGHjAQV4ZQLlAGNkZQNjZGN1AQt3Zt==&amp;pj=logo-mail" alt="cid.php?mid=e_ZGHjAQV4ZQLlAGNkZQNjZGN1AQ"> 我不确定我是否正确设置文件path? filePath: "/images/logo.png"

在Nodejs Openshift应用程序中使用nodemailer ETIMEDOUT连接错误

我正在使用Node.js中的nodemailer模块,在Openshift中使用一个不可扩展的应用程序。 正如文档build议的那样,我初始化了transporter对象并使用了sendMail函数。 我的代码的简化版本是 var transporter = nodemailer.createTransport({ service: 'Gmail', auth: { user: 'my.mail@gmail.com', pass: 'mypassword' } }); var mail = { from: 'my.mail@gmail.com', to: 'test@mydomain.com', subject: 'Test mail', html: 'Test mail' }; transporter.sendMail(mail, function(error, info) { if(error){ console.log(error); }else{ console.log(info); } }); 当我在本地机器上运行它时,此代码正常工作,但是当我尝试在服务器上执行它时,出现ETIMEDOUT错误,就好像应用程序不能连接到smtp服务器一样。 { [Error: connect ETIMEDOUT] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect' } 我试图增加超时连接参数,但我得到了相同的结果。 […]

错误:在errnoException(net.js:770:11)处写入EPIPE

我有这个系统,试图发送批量写在NodeJS的电子邮件。 它使用2个模块:fs(构build到节点v0.8.18中)和nodemailer(来自NPM,v0.3.42)。 现在执行时, node newsletter.js有时会完成并完成,但有时会随机失败,出现以下错误: stream.js:81 throw er; // Unhandled stream error in pipe. ^ Error: write EPIPE at errnoException (net.js:770:11) at Object.afterWrite (net.js:594:19) 据我了解EPIPE错误发生,因为连接的另一端下降,然后我们试图写入该连接。 所有现有的EPIPE错误错误报告都是在打开http连接或类似的情况下进行的。 在下面的两件事情中可能导致的错误是NewsletterEmail中的mailer.send或mailer.send中的mailer.send。 它更可能是错误将在mailer.send和nodemailer打开连接的地方。 然而,没有错误通过抛出或callback错误parameter passing回来,所以似乎没有办法看到是什么导致错误。 大多数人build议定义error handling程序。 然而,在nodemailer或fs模块中没有任何东西允许我定义一个error handling程序。 来自mailer.send调用的mailer.send中的callback函数在其callback函数中传递了一个错误参数,但是这个特定的错误并没有通过那里。 我已经尝试了以下的东西: 在fs.readFileSync和nodemailer传输sendEmail调用周围添加try / catch。 删除fs.readFileSync调用和内联html – 当我这样做的错误似乎并没有发生。 但是同样,节点文档没有指出在readFileSync上应该发生EPIPE错误,而且肯定没有办法添加error handling程序。 触发这个错误的代码如下: var nodemailer = require('nodemailer'); var fs = require('fs'); /** * […]

使用Nodemailer从本地主机发送电子邮件

我想在本地服务器上发送邮件,但似乎不能与Nodemailer和NodeJS一起工作。 有没有解决办法从本地发送邮件? var contact = {subject: 'test', message: "test message", email: 'visitor@gmail.com'}; var to = "myemail@gmail.com"; var transporter = nodemailer.createTransport(); transporter.sendMail({ from: contact.email, to: to, subject: contact.subject, text: contact.message });