javascript - 如何从 Node.js 发送电子邮件?

标签 javascript node.js smtp

我正在尝试从 React/Node.js 应用程序发送电子邮件。目前,我 尝试使用 emailjs模块。

代码如下:

const emailjs = require('emailjs')

sendEmail(email) {
  var server    = emailjs.server.connect({
    user:    "USERNAME", 
    password:"PASSWORD", 
    host:    "HOST_URL", 
    ssl:     false
  });
  server.send({
    text:    'Message', 
    from:    '"Sender" <mail@provider.com>', 
    to:      email,
    subject: "Some message subject"
  }, 
  function(err, message) { 
    console.log(err || message); 
  });
}

执行此方法时,出现以下错误:net.Socket 不是构造函数

如何从 Node.JS 应用程序发送电子邮件(使用任何 NPM 模块,不一定是 emailjs)?

更新 1(2017 年 7 月 30 日 09:12 MSK):Nodemailer 不工作——我收到错误 09:11:03 web.1 |找不到模块:无法解析“C:\myproject\node_modules\nodemailer\lib\mailer”中的“dns”

Nodemailer error

最佳答案

我使用 nodemailer 发送电子邮件,非常喜欢它的简单性。

这是该模块的网站:https://nodemailer.com/about/

它包含您可以遵循的所有示例 下面是我从 w3school 得到的一个例子。我总是使用它并且像魅力一样工作。取决于您使用的电子邮件类型(gmail、hotmail、outlook 等),进行适当的更改就可以了

var nodemailer = require('nodemailer');

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

var mailOptions = {
  from: 'youremail@gmail.com',
  to: 'myfriend@yahoo.com',
  subject: 'Sending Email using Node.js',
  text: 'That was easy!'
};

transporter.sendMail(mailOptions, function(error, info){
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + info.response);
  }
});

关于javascript - 如何从 Node.js 发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45390816/

相关文章:

javascript - 将我网站的水平滚动条居中

node.js - 永远忽略killSignal

node.js - bcrypt 与 Node 一起使用的替代方案是什么?

c++ - 具有 SSL 连接的 SMTP 客户端

php - 无法使用 Mercury XAMPP 发送邮件

javascript - 异步 Controller sails.js

javascript - Angular if/else 开关

javascript - 如果有多个位置,如何寻址一个位置的两个 INPUT 的值

javascript - 错误! 404 未找到 : @babel/preset-vue@^7. 1.0

java - SMTP 和 startssl jenkins 异常