标签: nodemailer

Nodemailer:ECONNREFUSED

我不知道我缺少什么,我使用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 of receivers
    subject: "Hello ?", // Subject line
    text: "Hello world ?", // plaintext body
    html: "<b>Hello world ?</b>" // html body
}

// send mail with …
Run Code Online (Sandbox Code Playgroud)

node.js nodemailer

10
推荐指数
1
解决办法
2万
查看次数

如何使发送的电子邮件在GMail收件人的视图中显示为带有Message-ID,In-Reply-To和References的线程

我已经阅读了一些很棒的在线资源,比如http://www.jwz.org/doc/threading.html,似乎任何电子邮件都是通过Message-ID标题发送的,然后对它的任何回复包括In-Reply-To命名该ID以及Refences哪些可以命名父级消息ID列表,电子邮件客户端在查看线程视图中的电子邮件列表时使用此信息构造线程.

我的问题是:是否可以将一系列电子邮件发送给带有伪标题的收件人,以使它们出现在一个没有收件人回复的线程中?如果是这样,为什么下面的尝试不起作用?

我们有一个系统可以发送几封与我们系统中特定实体相关的电子邮件.假设我们多次向每个小部件销售小部件和电子邮件用户.我们希望特定小部件ID的所有电子邮件在我们用户的电子邮件客户端中显示为电子邮件主题.

这里的旅行似乎通常是发送电子邮件,然后回复.我们的系统只是想发送几封电子邮件,并伪造In-Reply-To和References标题,以诱骗电子邮件客户端在树中显示它们.

我正在使用的Message-ID格式是:'foobar'+ widgetId + sequence

  • widgetId =每个小部件唯一的数字,例如1234
  • sequence =每次发送电子邮件时递增的序号

第一封邮箱:

  • 邮件ID <foobar-1234-0@server.com>
  • In-Reply-To:未提供
  • 参考文献:未提供

第二封邮箱:

  • 邮件ID <foobar-1234-1@server.com>
  • 在-回复: <foobar-1234-0@server.com>
  • 参考文献: <foobar-1234-0@server.com>

第三封邮箱:

  • 邮件ID <foobar-1234-2@server.com>
  • 在-回复: <foobar-1234-1@server.com>
  • 参考文献: <foobar-1234-0@server.com> <foobar-1234-1@server.com>

(顺便说一句,包括@server.com消息ID 的部分似乎是至关重要的.没有它,使用例如foobar-123-0,我们的SMTP服务器只是忽略它并使用它自己生成的消息ID)

电子邮件在Thunderbird中正确显示,作为一棵树,但在Gmail中没有,它们只是在收件箱中一个接一个地列出,而其他会话在它们旁边正确地进行了线程化.我不确定我是否弄错了,Thunderbird在糟糕的数据方面做得最好,或者如果Gmail需要一些我不提供的额外非标准糖.

这是我的node.js测试脚本:

/*jshint dojo:true */
/*global console:true */
'use strict';
var Q = require('q'),
    nconf = require('nconf'),
    optimist = require('optimist'),
    nodemailer = require('nodemailer');

console.log('Started to run.');
var argv = optimist.argv,
    config = nconf.argv().env().file('conf.json'),
    smtpConfig …
Run Code Online (Sandbox Code Playgroud)

email gmail email-headers email-threading nodemailer

10
推荐指数
1
解决办法
7222
查看次数

使用 Async/Await 的 Nodemailer 电子邮件确认

我正在使用 nodemailer 发送邮件。我需要知道邮件是否已发送,然后更新我的数据库,但邮件是在传输器中发送的(我认为它不会返回承诺),这需要时间,因此即使发送了邮件,返回也始终是错误的.

这是我从其他路由调用的邮件发送文件

//mail_file.js
//imports

sendmail= async(req)=>{
      let transporter = nodemailer.createTransport({
           //settings
      });
      var mailOptions = {
          //mailoptions
      };
      let resp=false;
      await transporter.sendMail(mailOptions, function(error, info){
          if (error) {
              console.log("error is "+error);
              resp =false;
           } 
          else {
              console.log('Email sent: ' + info.response);
              resp=true;
           }
          });
     return resp
 }

module.exports = sendmail;
Run Code Online (Sandbox Code Playgroud)

这是我称之为的路线:

//imports including the mail_file.js

//somepath.js
router.post('/somepath',(req,res,next)=>{
      sendresetmail=async()=>
            {
                parameters={
                         //some email parameters
                }
                return await sendmail(params);

            }   
       sendmail()
       .then(response=>{
            //response is always false even when the mail is …
Run Code Online (Sandbox Code Playgroud)

node.js promise async-await nodemailer

10
推荐指数
2
解决办法
2万
查看次数

421 4.3.0 临时系统问题。稍后再试 (10)

我正在使用nodemailer npm 包和gmail 作为nodejs 中的服务。对于某些电子邮件,我收到以下错误,

 Data command failed: 421 4.3.0 Temporary System Problem.  Try again later (10). c124sm10820896qke.13 - gsmtp
at SMTPConnection._formatError (/home/ubuntu/node_12-24/Roo-Node/node_modules/nodemailer/lib/smtp-connection/index.js:606:19)
at SMTPConnection._actionDATA (/home/ubuntu/node_12-24/Roo-Node/node_modules/nodemailer/lib/smtp-connection/index.js:1449:34)
at SMTPConnection._responseActions.push.str (/home/ubuntu/node_12-24/Roo-Node/node_modules/nodemailer/lib/smtp-connection/index.js:1421:26)
at SMTPConnection._processResponse (/home/ubuntu/node_12-24/Roo-Node/node_modules/nodemailer/lib/smtp-connection/index.js:762:20)
at SMTPConnection._onData (/home/ubuntu/node_12-24/Roo-Node/node_modules/nodemailer/lib/smtp-connection/index.js:558:14)
at TLSSocket._socket.on.chunk (/home/ubuntu/node_12-24/Roo-Node/node_modules/nodemailer/lib/smtp-connection/index.js:510:47)
at emitOne (events.js:116:13)
at TLSSocket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
at TLSSocket.Readable.push (_stream_readable.js:208:10)
at TLSWrap.onread (net.js:597:20) 
Run Code Online (Sandbox Code Playgroud)

我看到了很多关于此的事情,但不是一个完美的解决方案

javascript email gmail node.js nodemailer

10
推荐指数
0
解决办法
5370
查看次数

节点js SMTP错误

我通过godaddy电子邮件帐户发送电子邮件.为此,我使用节点js发送电子邮件,但它给出以下错误:

{ [Error: getaddrinfo ENOTFOUND] code: 'ENOTFOUND', errno: 'ENOTFOUND', syscall: 'getaddrinfo' }
Run Code Online (Sandbox Code Playgroud)

源代码:

var transporter = nodemailer.createTransport({
    host: 'ssl://smtpout.secureserver.net',
    port: 465,
    auth: {
        user: 'Email address',
        pass: 'password'
    }
});

var mailOption = {
    from:  from,             
    to:   to ,                                   
    subject: subject,                            
    text:  body                                 
};

transporter.sendMail(mailOption,function(error, response){

    if(error){
        console.log(error);
    }
    else{
        var successRes = { "status": "success" }
        res.send(successRes,200);
    }
});
Run Code Online (Sandbox Code Playgroud)

smtp node.js nodemailer

9
推荐指数
1
解决办法
6491
查看次数

使用Meteor.js发送电子邮件附件(电子邮件包和/或nodemailer或其他)

发送电子邮件附件似乎尚未在Meteor的官方电子邮件包中实现.我已经尝试了nodemailer建议(见此处),但收到错误"无法读取未定义的属性'createTransport'".

我正在尝试在数据URI中创建CSV文件,然后发送该附件.以下是使用官方电子邮件包时的代码片段:

csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csv);

var options = {
          from: "xxx@gmail.com",
          to: "xxx@gmail.com",
          subject: "xxx",
          html: html,
          attachment: {
            fileName: fileName, 
            path: csvData
            }
      };

Meteor.call('sendEmail', options);
Run Code Online (Sandbox Code Playgroud)

编辑:

这基本上是我的nodemailer代码的样子:

var nodemailer = Nodemailer;
var transporter = nodemailer.createTransport();
transporter.sendMail({
    from: 'sender@address',
    to: 'receiver@address',
    subject: 'hello',
    text: 'hello world!',
    attachments: [
        {   
            path: csvData
        }
    ]
});
Run Code Online (Sandbox Code Playgroud)

javascript email email-attachments meteor nodemailer

9
推荐指数
1
解决办法
2757
查看次数

使用node365通过Office365 smtp发送电子邮件时出错(MEANjs脚手架)

我正在尝试使用Office365 SMTP使用Nodemailer发送电子邮件(在MEANjs脚手架中),但是我收到以下错误:

[Error: 140735277183760:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:795:]
Run Code Online (Sandbox Code Playgroud)

我正在使用以下Nodemailer选项:

{ 
    host: 'smtp.office365.com',
    port: '587',
    auth: { user: 'xxxx', pass: 'xxxx' },
    secure: 'false',
    tls: { ciphers: 'SSLv3' }
}
Run Code Online (Sandbox Code Playgroud)

删除tls字段没有任何区别.我错过了什么?

email node.js office365 nodemailer meanjs

9
推荐指数
3
解决办法
8082
查看次数

将表单数据邮寄到我的收件箱的应用程序在Firebase上无法正常运行

我想我在这里错过了很简单的东西.我有一个简单的单页node.js应用程序,它使用nodemailer将任何表单数据通过电子邮件发送到我的收件箱.

我的index.js文件:

var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var nodemailer = require('nodemailer');

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

var transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'myemail@gmail.com',
        pass: 'mypassword'
    }
});

app.use(express.static('public')); //public folder with my html files
app.get('', function (req, res) {
    res.sendFile(__dirname + "/");
})

app.post('/', function (req, res) {
    response = {
        name: req.body.name,
        email: req.body.email,
        message: req.body.message
    };
    var mailClient = {
        from: 'myemail@gmail.com',
        to: 'myemail@gmail.com',
        subject: `Message from ${response.name}`, …
Run Code Online (Sandbox Code Playgroud)

node.js firebase nodemailer google-cloud-functions

9
推荐指数
1
解决办法
468
查看次数

缺少"PLAIN"节点制作者的凭据

我正在尝试在联系表单中使用nodemailer来接收反馈并将其直接发送到电子邮件.这是下面的表格.

<form method="post" action="/contact">
      <label for="name">Name:</label>
      <input type="text" name="name" placeholder="Enter Your Name" required><br>
      <label for="email">Email:</label>
      <input type="email" name="email" placeholder="Enter Your Email" required><br>
      <label for="feedback">Feedback:</label>
      <textarea name="feedback" placeholder="Enter Feedback Here"></textarea><br>
      <input type="submit" name="sumbit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)

这就是服务器端的请求

app.post('/contact',(req,res)=>{
let transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'user@gmail.com',
        password: 'password'
    }
});
var mailOptions = {
    from: req.body.name + '&lt;' + req.body.email + '&gt;',
    to: 'bantspl@gmail.com',
    subject: 'Plbants Feedback',
    text: req.body.feedback 
};
transporter.sendMail(mailOptions,(err,res)=>{
    if(err){
        console.log(err);
    }
    else {

    }
});
Run Code Online (Sandbox Code Playgroud)

我收到了错误Missing …

javascript scripting node.js nodemailer server

9
推荐指数
6
解决办法
1万
查看次数

从自己的服务器发送电子邮件到互联网

我已经在主机上设置了电子邮件服务器。它基本上是一个侦听端口25的SMTP服务器。

const recvServer = new SMTPServer({
  requireTLS: true,
  authOptional: true,
  logger: true,      
  onConnect(session, callback) {
    return callback();
  },

  onMailFrom(address, session, callback) {
    console.log('from', address, session);
    return callback();
  },    

  onData(stream, session, callback) {
    console.log('new msg');
    let message = '';
    stream.on('data', chunk => {
      message += chunk;
    });

    stream.on('end', () => {

      callback(null, 'Message queued');
      simpleParser(message)
        .then(parsed => {
          console.log(parsed);
          // here I wish to forward the message to outside gmail addresses
        })
        .catch(err => {
          console.log(ee)
        });

    });
  }    
});

recvServer.listen(25); …
Run Code Online (Sandbox Code Playgroud)

javascript smtp node.js nodemailer

9
推荐指数
1
解决办法
536
查看次数