Tag: 电子邮件

在expressjs中与Nodemailer错误?

我正在使用Nodemailer来设置忘记的密码function。 出于某种原因,我的代码被挂在smtpTrans.sendMail部分。 我正确设置了Nodemailer吗? 更新:看看下面的完整代码,包括async.waterfall代码 app.post('/forgot', function(req, res, next) { async.waterfall([ function(done) { crypto.randomBytes(20, function(err, buf) { var token = buf.toString('hex'); done(err, token); }); }, function(token, done) { User.findOne({ email: req.body.email }, function(err, user) { if (!user) { console.log('error', 'No account with that email address exists.'); return res.redirect('/forgot'); } console.log('step 1') user.resetPasswordToken = token; user.resetPasswordExpires = […]

然后承诺,并在nodeJS中捕获

我的nodejs服务器有问题。 我想要的是,如果电子邮件存在于我的分贝,我想发送一个电子邮件到该地址,但如果不是,我想发送和错误消息到客户端。 我有这个控制器: reset(req, res) { return this.service.getByEmail(req.body.email) .then(this.mapper.outputEmail.bind(this.mapper)) .then(res.json.bind(res)).catch(res.send.bind(res)); } 我以邮寄方式发送电子邮件。 我使用一个服务,调用我的数据库寻找该电子邮件,我有这个映射器: outputEmail(outputEmail){ return { email: outputEmail.email }; } 我的服务: getByEmail(correo) { return this.db.find({ where: { email: correo } }); } 我的问题是,我不知道如何控制,如果我得到一个空的json对象..如果我发送一封邮件,它不存在我得到一个{}回应,但如果我发送一个存在的电子邮件我得到{电子邮件:erwrr@gmail.com}。 我想要的是,如果我得到一个空的JSON,我只是想返回一个错误,说该电子邮件不存在,但如果数据库中的查询得到一个真正的电子邮件,我想继续执行另一种方法,发送电子邮件到该地址。

我想知道如何在控制器之间进行通信

点击电子邮件中的authentication链接,使用电子邮件authentication来实现成员资格方法时,我想在服务器内部确认令牌后调用用户创buildAPI。 //emailcontroller.js router.get('/register/token', function(req, res) { // check token if(check(req.params.token)) { request('http://localhost:8080/api/user', function(data) { }); } }); //usercontroller.js router.post('/api/user', function(req, res) { var user = new User(); user.userId = req.body.userId; user.userPw = req.body.userPw; user.save(); }); 在点击电子邮件中的authentication链接来实现使用电子邮件authentication的成员资格方法时,我想在服务器内部确认令牌后调用用户创buildAPI。 如上所述,电子邮件控制器和用户控制器被分开,并且每个被路由。 我想模块化代码,以便我想调用现有的用户创buildAPI来将其用于通用目的,而不是为特定控制器创build和导出常用函数。 /*I do not want to implement it this way.*/ //emailController.js router.get('/register/token', function(req, res) { // check token […]

nodejs,redis和mailparser不会parsing电子邮件

我正在使用andris( https://github.com/andris9/mailparser )的mailparser。 我正在通过redis发送一封电子邮件给一个nodejs应用程序。 mailparser for someason是无法parsing它。 什么可能导致这个问题? 从redis获取电子邮件的代码。 client是node_redis客户client的一个实例。 MailParser是andris的mailparser。 redis中的电子邮件通过另一台服务器发送到我订阅的频道。 发送的电子邮件在保存在文本文件中并使用andris'test.js进行分析时,会提供预期的输出。 client.subscribe('email1'); client.on('message', function(channel, message){ var Parser = new MailParser(); Parser.on('headers', function(headers){ console.log(headers.addressesTo[0].address); }); Parser.feed(message); Parser.end(); }); 我find了这个原因。 我看到接收的input\ n转换为\ n

nodemailer nodejs:sendmail退出127

我想从我的服务器(kimsufi)发送电子邮件,以确认注册。 所以,我使用nodemailer https://github.com/andris9/Nodemailer 我有这个错误: Error occured Sendmail exited with 127 什么意思 ? 谢谢 !

听文件夹在imap服务器中创build,删除,重命名和邮件标记的事件?

使用IMAP IDLE可以侦听新邮件并删除邮件事件。 我在node.js中使用了node-imap模块来完成这个工作。 但有可能听标志更改事件,如标记为已读,未读,还有文件夹创build/删除/重命名事件? 我读了关于IMAP NOTIFY扩展在这里他们指定的IMAP客户端,但似乎Gmail不支持它,也在node.js我找不到任何模块,实现了这个“IMAP NOTIFY”。 请给出任何build议来实现这一点。

使用节点(nodemailer)显示embedded的图片

我使用nodemailer发送带有embedded式图片的邮件, var mailOption = { html: 'Embedded image: <img src="cid:unique@kreata.ee"/>', attachments: [{ filename: 'image.jpg', content: '/9j/4AA … Q==', encoding: 'base64', cid: 'unique@kreata.ee' }] from: '…', to: '…', subject: '…' } var nodemailer = require('nodemailer'); var transporter = nodemailer.createTransport(); transporter.sendMail(mail, function(error, info) { … }); 我可以从Outlook收到邮件,但是图片无法在Outlook中显示。 我有2个问题, 如何使用nodemailer模块(或其他)在Outlook中显示图片 如何在上面的代码中打印整个邮件包含标题和正文。

在sailsjs中实现smtp,用于屏蔽邮件

有一段时间,我想创build自己的电子邮件服务器,可以创build一次性电子邮件来掩盖我自己的,也使用我自己的服务器,而不是gmail。 我第一个想到的ID应该创build一个nodejs服务器(服务器A),处理所有包含邮件,并将邮件保存到数据库,然后让另一个服务器(服务器B)知道电子邮件已收到,让相应的用户知道“嘿, 你收到一封信件!”。 服务器B将是基于sailsjs的用户,用户可以login,访问邮件和设置。 作为服务器A将只是一个最小代码的nodejs服务器。 没有界面或任何东西。 但是,这似乎很混乱,连接在服务器之间。 我开始考虑结合sailsjs和smtp-server来创build我想要的。 但我真的可以运行smtp服务器和sailsjs结合? 我可以去(例如):var SMTPServer = require('smtp-server'); var server = new SMTPServer(options); server.listen(sailsjs); // sailsjs服务器的实例 总之:结合smtp服务器和sailsjs来处理邮件。 使用socket.io发送警报给用户。 让用户login仪表板来pipe理他们的邮件设置。 什么是处理这个最好的方法? 我要创build一个github项目,如果任何人得到curius进展: https : //github.com/sciencefyll/sailsjs-email-server 但要警告,我不知道如何处理这个… npm模块: https : //www.npmjs.com/package/smtp-server https://www.npmjs.com/package/sails

尝试使用Gmail的Node.js API修改标签时,“错误没有标签添加或删除指定”

我正在尝试使用gmail的Node.js API修改收件箱中的电子邮件标签。 我的function标记一个电子邮件为已读和明星是: function markAsRead(auth, req, res) { var gmail = google.gmail('v1'); console.log(req.body.id); gmail.users.messages.modify({ auth: auth, id: req.body.id, userId: 'me', resouce: { "addLabelIds": [ "STARRED" ], "removeLabelIds": [ "UNREAD" ] } }, function(err, response) { if (err) { console.log('…The API returned an error: ' + err); return; } console.log("Success???"); }); } 它给出了一个错误,说没有标签添加或删除指定。 我检查了电子邮件对象,并在labelIds属性“UNREAD”和“STARRED”出现,因此它们是有效的labelIds。 我似乎在做什么API的文档说是正确的,但它不断给出同样的错误。

在使用作业队列(kue / node / express)时将响应发送回请求者

js / express。 我正在做的是发送一个请求来表示服务器从一个不同的服务器与一些用户的详细信息。 将请求详细信息添加到作业队列(kue),然后使用工作人员(集群)处理作业并向用户发送电子邮件。 我想发送一个响应回发送请求到我的快递服务器的服务器。 正常的res.send()在这里不起作用,因为在将请求参数添加到队列和进程之后,请求和响应之间没有链接。 这里是我的代码的示例。 app.js app.get('/my_request/:param1/:param2/:param3', function( req, res ) { req.params.type = "ORDER_COMPLETE"; var params = req.params; jobs.create('jobQueue', { 'title': "order_receipt", 'params' : params } ) .ttl( 30 * 1000 ) //value in ms // 30 min .removeOnComplete( true ) .save(function(err) { if (err) { console.log('jobs.create.err', err); } }); //res.send( […]