Articles of 电子邮件

NodeJS – 在registryvalidation邮件中发送Json Web Token(JWT)是否安全?

我的node.js服务器使用Json Web Token(JWT)和passport.js进行身份validation。 用户注册后,服务器会向用户发送validation邮件,通常应该在validation链接中生成一个令牌以保证安全。 但是因为我的网站是jwt,所以我可以发送jwt作为电子邮件中validation链接的一部分吗? 即validation链接将是http://example.com/verification/some-jwt 所以只要用户得到电子邮件,他也会得到jwt,并且可以存储在浏览器中供将来的validation。 这是一个很好的做法吗?

如何parsingHaraka上的电子邮件?

我一直在探索哈拉卡( http://haraka.github.io ),我成功地将其安装在我的Linux机器上。 我想知道是否有一个很好的教程parsing电子邮件元标题和内容使用哈拉卡。 我检查他们的手册,但我无法find它。 任何想法/build议如何做到这一点将不胜感激。 谢谢。 这是我的脚本来检索电子邮件正文: var winston = require('winston'); exports.hook_data = function (next, connection) { winston.log('info', '—————————————-'); winston.log('info', 'hook_data'); // enable mail body parsing connection.transaction.parse_body = true; winston.log('info', "body="+connection.transaction.body); winston.log('info', "mail_from="+connection.transaction.mail_from); next(); } 输出: {"level":"info","message":"—————————————-","timestamp":"2015-01-12T07:16:28.216Z"} {"level":"info","message":"hook_data","timestamp":"2015-01-12T07:16:28.217Z"} {"level":"info","message":"body=null","timestamp":"2015-01-12T07:16:28.218Z"} {"level":"info","message":"mail_from=myemail@hostname.com","timestamp":"2015-01-12T07:16:28.218Z"} 正如你所看到的,主体包含一个空值。

为什么我的firebasecallback被多次触发?

我有一个小型节点服务器,监听Firebase的变化,并在特定条件下发送电子邮件。 代码如下: var Firebase = require('firebase'); var ref = new Firebase(process.env.FIREBASE_URL); ref.authWithCustomToken(process.env.FIREBASE_SECRET, function (err) { if (err) { console.log(new Date().toString(), 'Firebase Authentication Failed!', err); EmailService.send('Firebase authentication failed', 'errors@domain.com', err); } else { ref.child('applicants').on('child_added', function (snapshot) { var applicant = snapshot.val(); if (!(applicant.alerts && applicant.alerts.apply)) { console.log(new Date().toString(), 'New Applicant: ', applicant); var body = applicant.firstName […]

从Google API获取联系人列表,个人资料照片和电子邮件

关于“使用Googlelogin”的单个组件有几个问题,但是我找不到涉及当前API的任何内容(截至2015年7月)。 我有一个“在Gmaillogin”选项在我的Web应用程序,我想检索: 我曾发送和收到的所有电子邮件(如果可能的话) 我所有的联系人列表 所有我的联系人的个人资料图片(以及其他可能的信息,如地点,性别,年龄等)的列表 现在,在我的oAuthlogin中,我使用以下范围: ['profile', 'email','https://www.googleapis.com/auth/userinfo.profile', 'https://www.google.com/m8/feeds'] 然后,一旦我有我的oAuth令牌,我做了以下的API调用: https://www.google.com/m8/feeds/contacts/default/full?max-results=10000&alt=json&oauth_token={{token}} 这给我一个联系电子邮件和相关名称的列表,但没有图片(至less我可以find),没有其他有关联系人的信息。 我也想能够下载所有的用户发送/接收的电子邮件,我知道我必须通过IMAP来做到这一点,但我只能find需要用户名和密码的NodeJS实现。 是否有可能使用oAuth令牌? 理想情况下,我想用一个oAuth调用来完成这一切,因为我正在构build一个电子邮件分析工具。

无法正确地将使用nodejs PDFKit制作的pdf附加到通过Nodemailer发送的电子邮件

将附带pdfkit(节点)的pdf附加到通过nodemailer和Sendgrid API发送的电子邮件中时遇到问题。 电子邮件工作正常 生成到磁盘的PDF是好的,但附件上的PDF不断出现损坏,无法读取。 我已经尝试了许多不同的变化,并通过谷歌研究,但我不知道如何得到这个工作。 创buildpdf的代码: var fs = require('fs'); var PDFDocument = require('pdfkit'); doc = new PDFDocument({ size: 'letter' }); doc.pipe(fs.createWriteStream('./public/img/test.pdf')); doc.text('my text') doc.end(); 我的节点代码: var nodemailer = require('nodemailer'); var sgTransport = require('nodemailer-sendgrid-transport'); var options = { auth: { api_key: process.env.SENDGRID_API } } var mailer = nodemailer.createTransport(sgTransport(options)); var email = { to: 'XXXXXXXX@gmail.com', from: […]

在节点Js中发送邮件

我需要使用Node Js发送电子邮件。 我用了下面的代码, var nodemailer = require("nodemailer"); //var smtpTransport = require("nodemailer-smtp-transport") var smtpTransport = nodemailer.createTransport("SMTP",{ service: "Gmail", auth: { user: "example@gmail.com", pass: "xxxxxxxx" } }); smtpTransport.sendMail({ from: "example@gmail.com", // sender address to: "example@gmail.com", // comma separated list of receivers subject: "Test Mail", // Subject line text: "Hi, Test Mail"// plaintext body }, function(error, data){ if(error){ […]

错误:连接ECONNREFUSED 127.0.0.1:465 nodemailer

我正在使用我的Gmail帐户发送SMTP邮件给我的用户的邮件。 例如,注册或帐户被封锁等。我正在使用一个nodemailer,电子邮件发送成功,没有一个单一的失败。 以下是我的代码。 var nodemailer = require("nodemailer"); // create reusable transport method (opens pool of SMTP connections) var smtpTransport = nodemailer.createTransport("SMTP",{ service: "Gmail", auth: { user: "gmail.user@gmail.com", pass: "userpass" } }); // setup e-mail data with unicode symbols var mailOptions = { from: "Fred Foo ✔ <foo@blurdybloop.com>", // sender address to: "bar@blurdybloop.com, baz@blurdybloop.com", // list […]

JavaScript – 使用AWS SES发送电子邮件

我正尝试从我的alex.divito@mountainviewwebtech.ca电子邮件地址发送电子邮件,但是我收到以下错误: { "error": { "statusCode": 400, "name": "InvalidParameterValue", "message": "The From ARN <alex.divito@mountainviewwebtech.ca> is not a valid SES identity.", "code": "InvalidParameterValue" } } 发件人地址和电子邮件地址均显示SES控制台中verified状态,并将以下Identity Policy附加到alex.divito@mountainviewwebtech.ca电子邮件地址: { "Version": "2008-10-17", "Statement": [ { "Sid": "stmt1496992141256", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::xxxxxxxxxxxxxxx:root" }, "Action": [ "ses:SendEmail", "ses:SendRawEmail" ], "Resource": "arn:aws:ses:us-west-2:xxxxxxxxxxxxxxx:identity/alex.divito@mountainviewwebtech.ca" } ] } 然而,当我运行下面的NodeJS代码,我收到上面的错误: Mail.send = function(email, cb) […]

如何replaceSendgrid模板variables? (在node-js中)

这似乎是一个简单的参数,我错过了,但我很难搞清楚它是什么。 这是我用'@ sendgrid / mail'发送的请求: email.js: const sgMail = require('@sendgrid/mail'); function emailRequest() { msg = { to: 'test+10@gmail.com from: 'info@owner.io', subject: 'Receipt for Business Expenses', template_id: 'db6d11ae-41e4-4e1a-a71b-f5368eb21c9c', personalizations: [ { to: 'test+10@gmail.com, from: 'info@ownr.io, subject: 'Receipt for Business Expenses, template_id: 'db6d11ae-41e4-4e1a-a71b-f5368eb21c9c', substitutions: { ':firstname': 'Bobba', ':ordernumber': 'WHAAA', ':orderdate': 'today', ':ordertime': 'NOW!', }, custom_args: { ':firstname': […]

sendgrid:在电子邮件中添加cc

我使用sendgrid从我的应用程序发送电子邮件。 现在我想添加抄送或密件抄送,如果用户回复我的邮件。 我该怎么做呢。 让我先解释一下。 我发送用户反馈的答案出现在我的web应用程序上,使用我的应用程序让我说,我通过'noreply@mydomain.com'发送电子邮件,用户收到这封邮件在他/她的收件箱在Gmail /雅虎或任何其他电子邮件服务。 在这种情况下,用户可以点击回复这封邮件。 所以现在,你的':'包含'noreply@mydomain.com'的默认回复地址。 没关系。 现在我想添加'cc:'(抄送)如下'feedback@mydomain.com'。 这个怎么做?