【发布时间】:2021-05-30 02:24:57
【问题描述】:
我正在使用 angular、Mongodb、Nodejs、express。只是一个平均堆栈。
我的网站与购物车动态加载的购物有关。添加到购物车的产品应作为邮件发送给所有者。
我们可以直接发送邮件吗?是的,请解释过程如何。 如果不应该存储在数据库中,那么如何存储?
【问题讨论】:
标签: database mean-stack
我正在使用 angular、Mongodb、Nodejs、express。只是一个平均堆栈。
我的网站与购物车动态加载的购物有关。添加到购物车的产品应作为邮件发送给所有者。
我们可以直接发送邮件吗?是的,请解释过程如何。 如果不应该存储在数据库中,那么如何存储?
【问题讨论】:
标签: database mean-stack
所以,这里的问题非常不清楚。但我会尽力解释所有情况。这样,您就不必经常弄乱它。我将解释如何仅使用前端或使用您的服务器向用户发送邮件。
要向用户发送电子邮件,我们需要在后端进行。这意味着您必须在服务器中编写一些代码才能将电子邮件发送到您的客户端。由于您有 MEAN Stack 应用程序,因此您必须熟悉 Node 包管理器。
npm 有一个名为 nodemailer 的包,可用于向用户发送电子邮件。但请确保您以良好的方式编写这些电子邮件,以免它们最终进入垃圾邮件箱。
您可以使用安装 nodemailer
npm install nodemailer
这是来自w3schools的示例代码
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);
}
});
您还可以通过简单的谷歌搜索找到其他甚至更好的选择。
另外,我认为将这些数据存储在数据库中没有任何意义,除非您需要它以备将来使用。我不知道您的电子商务应用程序的流程。所以,我会把这个决定留给你。
如果您想直接从前端发送电子邮件,有一种解决方法。发送电子邮件需要服务器,但您可以为此使用其他人的后端服务器。基本上是一个 BaaS(后端即服务)。您可以在 stackoverflow 上查看这个先前回答的问题,以获取有关直接从应用程序前端发送电子邮件的更多信息。
How can i send emails without a server ? Only front-end Javascript
【讨论】: