使用nodemailer发送电子邮件

马尔马汉

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

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

const CONTACT_ADDRESS = '[email protected]';

var mailer = require('nodemailer').createTransport({
  service: 'mail.ee',
  auth: {
    user: '[email protected]',
    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:将圆形结构转换为JSON

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

弗拉迪斯拉夫·塞沃斯托尼亚诺夫

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

例如,您可以使用

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

相反

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章