javascript - 使用 nodemailer 发送邮件

标签 javascript node.js express nodemailer

我正在尝试创建一个使用 nodemailer 发送电子邮件的简单 Node 服务器

let app = require('express')();
app.use(require('body-parser').urlencoded());

const CONTACT_ADDRESS = 'email@email.com';

var mailer = require('nodemailer').createTransport({
  service: 'mail.ee',
  auth: {
    user: 'test@test.com',
    pass: 'password',
  }
});

app.post('/contact', function(req, res) {
  mailer.sendMail({
    from: req.body.from,
    to: '[CONTACT_ADDRESS]',
    subject: req.body.subject || '[No subject]',
    html: req.body.message || '[No message]',
  }, function(err, info) {
    if (err) return res.status(500).send(err);
    res.json({success: true});
  })
});

//Service is listening to port 3000
app.listen(3000, function(){
    console.log("Service is running on port 3000...");
});

联系方式如下:

<form method="post" action="http://localhost:3000/contact">
    <label>Your e-mail</label>
    <input type="text" name="from">

    <label>Subject</label>
    <input type="text" name="subject">

    <label>Message</label>
    <textarea name="body"></textarea>
    <input type="submit" value="Submit">
  </form>

每当我按下提交按钮时,我得到:

JSON.stringify(value); TypeError: Converting circular structure to JSON

这是什么意思?我该如何克服它?

最佳答案

res.send 方法试图对您的 err 对象进行字符串化,但是您的 err 对象无法进行字符串化,因为它不是标准错误对象。尝试输出此 err 对象以查看并决定如何处理它。

例如你可以使用

if (err) return res.status(500).send(err.reason);

代替

if (err) return res.status(500).send(err);

关于javascript - 使用 nodemailer 发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55953060/

相关文章:

javascript - NodeJS/Javascript 函数返回未定义

javascript - Angular : How to update controller scope associated to directive scope's object as it changes?

javascript - 我可以编辑现有 Ionic 组件的 html 吗?

javascript - HandlebarsJS 未捕获类型错误 : Cannot read property 'url' of undefined

javascript - Node.js 和 .NET 中的 UTF-8 编码差异

javascript - 当 openssl 命令行执行时,Node.js 验证功能不验证签名

node.js - Node js 事件循环 异常处理

node.js - TypeScript + Express : req. 参数

javascript - 如何在字符串中查找一个字符并输出该字符出现的每个地方的索引? (JavaScript)

Javascript:通过 node.js 二进制 websockets 发送整数数组