我正在尝试从React/Node.js应用程序发送一封电子邮件。目前,我正在尝试使用电子邮件模块。
守则如下:
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 is not a constructor。
如何从Node.JS应用程序发送电子邮件(使用任何NPM模块,而不一定是电子邮件)?
更新1 (30.07.2017 09:12 MSK): Nodemailer不工作--我得到了错误09:11:03 web.1 | Module not found: Can't resolve 'dns' in 'C:\myproject\node_modules\nodemailer\lib\mailer'。

发布于 2017-07-30 14:16:57
我找到了问题的原因。最初,发送电子邮件的功能位于一个反应性组件中。这个问题的一个答复说,不可能从前端发送电子邮件。
因此,我将电子邮件发送例程移到server.js中,现在原来的错误消失了。
发布于 2017-07-29 15:40:10
我使用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);
}
});发布于 2018-05-23 02:28:01
嗨,@DP_和大家。-
我成功地实现了nodemailer,感谢您,我也有相同的DNS错误,并将发送函数移到server.js,这对我帮助很大。然而,为了使它与Nodemailer一起工作,我使用了Hapi.js和xoauth2,因为我想通过gmail发送一个定制的电子邮件,这对我来说非常重要。您需要首先在Google上配置Xoauth2,然后将Api添加到您的帐户中,然后等待一段时间,直到您的refreshToken获得批准并将其添加到您的应用程序中。总之,这就是我所做的,希望这能帮助到一些人,因为我花了一些时间才使它发挥作用。
https://stackoverflow.com/questions/45390816
复制相似问题