使用 nodemailer 发送邮件
sending email with nodemailer
我正在尝试创建一个使用 nodemailer 发送电子邮件的简单节点服务器
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);
我正在尝试创建一个使用 nodemailer 发送电子邮件的简单节点服务器
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);