Tag: nodemailer

使用node.js节点模块获取无法识别的身份validationtypes错误

我正尝试使用node.js nodemailer模块连接到Microsoft邮件服务器。 但是我得到一个错误。 // create reusable transporter object using the default SMTP transport let transporter = nodemailer.createTransport({ host: 'mysmtp.server.com', port: 25, secure: false, // true for 465, false for other ports requireTLS: true, ignoreTLS: false, tls : { rejectUnauthorized: false }, authMethod: 'LOGIN', auth: { type: 'login', user: 'account@domain.com', // generated ethereal user pass: 'password' […]

如何parsing通过ajax请求发送的multipart / form-data。

我试图parsing从$.ajax()发送的multipart / form-data,并且在服务器端数据进入req.body不在req.files如express的文档中所述。 我试图做的是发送多个图像文件和forms的数据通过$.ajax ,然后在服务器端接收它,并通过nodemailer作为附件发送这些图像,所以发送它通过nodemailer我需要能够读取,我得到的只是req.body中的数据垃圾,我甚至无法阅读。 代码如下。 客户端Ajax请求发送function: – $('.contact-button').on('click', function(e) { e.preventDefault(); var data = new FormData(); var filesList = document.getElementById('files'); for (var i = 0; i< filesList.files.length; i ++) { data.append('file', filesList.files[i]); } data.append('messageData', $('#contact-form').serialize()); $.ajax({ url: '/api/contactus/', data: data, processData: false, type: "POST", contentType: 'multipart/form-data', mimeType: 'multipart/form-data', success: function (data) { console.log("SUCCESS IN […]

用nodeJs发送原始邮件文件

我试图用nodemailer发送一个包含在nodejs文件中的电子邮件,为此我首先使用mailparserparsing文件,然后发送与节点邮件程序一起返回的对象,问题是它看起来会使头文件翻倍, :,两个:等等..我想知道是否有另一种方法,使节点从一个目录中读取文件,并发送给他们,或者如果你知道一些其他的方式,我可以做到这一点。 我有一些在目录中积累的文件,每天早上8点,它们都被发送到服务器。 时间可以改变,但那不是相关我猜:)。 感谢任何帮助或提示,你们可以给和其他人阅读:P。 这里是我正在使用的代码的例子 var fs = require('fs'); var MailParser = require("mailparser").MailParser; var file = './113B797D-69F0-4127-A4CE-27923E7006CF.3.1'; var nodemailer = require('nodemailer'); var transporter = nodemailer.createTransport({ port: 2529, host: '127.0.0.1' }); var mailparser = new MailParser(); mailparser.on("error", function(err) { console.log('[Error] mailparser: '+err); }); mailparser.on("end", function(mail_object) { console.log(mail_object); transporter.sendMail(mail_object); }); fs.createReadStream(file).pipe(mailparser);

更长的Nodemailer Html /文本

nodemailer的每个例子都是这样的: var mailOptions = { from: "Fred Foo ✔ <foo@blurdybloop.com>", // sender address to: "bar@blurdybloop.com, baz@blurdybloop.com", // list of receivers subject: "Hello ✔", // Subject line text: "Hello world ✔", // plaintext body html: "<b>Hello world ✔</b>" // html body} 当有人报名时,我想要比单class轮换更长的信息。 有没有办法在我的应用程序的另一个地方编写和源代码的HTML,所以也许只是一系列的换行符。 TL; DR 我想让nodemailer发送比单线更长的邮件

用蓝鸟提升Nodemailer?

nodemailer作者明确表示他不支持promise。 我以为我会尝试使用蓝鸟,但我的尝试似乎没有捕获任何错误,Nodemailer抛出: var nodemailer = require('nodemailer'); var Promise = require('bluebird'); // build the transport with promises var transport = Promise.promisifyAll( nodemailer.createTransport({…}) ); module.exports = { doit = function() { // Use bluebird Async return transport.sendMailAsync({…}); } } 然后我这样做: doit().then(function() { console.log("success!"); }).catch(function(err) { console.log("There has been an error"); }); 但是,当提供无效的电子邮件时,我看到: Unhandled rejection Error: Can't send […]

发送电子邮件时Node.js 404错误,忽略我的res.status

我有一个angular度的应用程序与forms,使Ajax请求。 电子邮件的工作正常,但不pipe我设定的回应; 我得到一个错误的path。 我假设节点期望path'/发送'来呈现一个模板或数据,但我只是想要电子邮件的path!〜我使用模式popup窗口&angular度ui路由的path。 app.get('/send', function (req, res, err) { var cartContent = req.body.slice(1,20); var content = tableify(cartContent); var sendit = { to: '*****@gmail.com', from: '****@bluenightphoto.com', replyTo: req.body[0].email, subject: "CP Carpet Quote Request: " + req.body[0].fname + " " + req.body[0].lname , // REQUIRED. html: '<b>Customer Quote</b>' + '<br>' + 'Customer Name: ' + req.body[0].fname […]

Nodemailer不会退出邮件

在我的脚本中,我想用一个电子邮件发送有关使用Nodemailer的脚本运行的数据。 在脚本的中间使用相同的transporter器,并成功发送电子邮件。 但是,退出事件处理程序中的相同代码根本不会执行任何操作。 没有电子邮件,没有“发送报告!” 输出到控制台,虽然我得到的输出到控制台的mailOptionvariables。 假设asynchronous操作在退出之前没有完成,我添加了一个临时延迟步骤来validation这一点。 还没有生成电子邮件。 难道我做错了什么? function exitHandler(er) { end = moment().utc(); // report template var tplPath = path.resolve('report.html'); var juiceFileDeAsync = deasync(juice.juiceFile); var tpl = juiceFileDeAsync(tplPath, { webResources: {images: false} }); var email = nunjucks.renderString(tpl, { startDate: start.format("MMMM Do YYYY, h:mm:ss a"), duration: end.diff(start,'seconds'), report: sentEmails, warns: warns, errors: errors }); // […]

node.js nodemailer smtpTransport导致TypeError:this.mailcomposer.setMessageOption不是一个函数

我正在尝试使用nodemailer使用Gmail帐户发送电子邮件。 我看了很多地方,似乎有正确的语法,但无论我使用什么样的例子,我总是得到一个types错误。 所以这里是我使用的代码: var nodemailer = require('nodemailer'); var transporter = nodemailer.createTransport("SMTP",{ service: 'gmail', auth: { user: 'user@gmail.com', pass: 'pass' } }, { // default values for sendMail method from: 'sender@gmail.com', headers: { 'My-Awesome-Header': '123' } }); transporter.sendMail({ to: 'lucky@gmail.com', subject: 'hello', text: 'hello world!' }); 这最终给我以下错误: C:\Program Files\nodejs\node_modules\nodemailer\lib\nodemailer.js:241 this.mailcomposer.setMessageOption(mailOptions); ^ TypeError: this.mailcomposer.setMessageOption is not a […]

如果没有互联网连接,我想显示一个敬酒,不知道该怎么做

在这里,当表单提交时,我正在发送邮件。 一切工作正常,唯一的问题是即使互联网连接不存在,用户正在获得成功。 我希望用户应该得到一个错误信息,如果互联网连接不存在。 脚本 this.mail= function() { var data = ({ name :this.name, email :this.email }) //Post Request $http.post('/send', data). success(function(response, status, headers, config){ $mdToast.show( $mdToast.simple() .textContent('Your form has been submitted '+data.name) .position($scope.getToastPosition()) .hideDelay(5000) ); }). error(function(response, status, headers, config) { $mdToast.show( $mdToast.simple() .textContent('Something went wrong, Please TRY AGAIN '+data.name) .position($scope.getToastPosition()) .hideDelay(5000) ); }); 服务器 […]

nodemailer不发送附件

我正在使用nodemailer发送邮件和附件。 但在发送附件之前,我需要validation它是否存在,因此我将它分配给一个variables。 但是,当我使用variables不发送附件 加工 smtpTransport.sendMail({ from: data_to_send.from, to: data_to_send.to, subject: data_to_send.subject, atachments: data_to_send.attachments, text: data_to_send.text, html: data_to_send.html, attachments: [{ filename: 'file1' + file1ext, filePath: file1Path }, { filename: 'file2' + file2ext, filePath: file2Path }], } ….. 不工作 data_to_send.attachments = [{ filename: 'file1' + file1ext, //"file1.jpg", filePath: file1Path //'uploads/file1.jpg' }, { filename: 'file2' + file2ext, //"file2.jpg", […]