如何在 javascript 中发送预定的电子邮件?
How to send scheduled email in javascript?
我正在使用 SMTPJS 通过 Gmail SMTP 发送电子邮件。这是我的简单工作代码:
<script src="https://smtpjs.com/v2/smtp.js"></script>
sendEmail(to, subject, body){
Email.send(
"SITENAME noti.sitename@gmail.com", //from
to, //to
subject, //subject
body, //body
"smtp.gmail.com", //smtp host
"noti.sitename@gmail.com", //username account
"Noti-Password", //password account
message=>{
alert("sent");
}
)
}
我需要做的是发送一封按日期发送的电子邮件。例如 2 周后或 30 天后。那么是否可以通过添加一些行或做其他方式来实现?
我认为仅 JavaScript 是不可能的 为此,您需要在特定时间打开浏览器,它可以从服务器端进行管理,但就我对客户端的关注而言,它可以通过仅限必须嵌入到客户端浏览器中的扩展。您可以在特定时间使用后台或 cantent 脚本发送消息
您不能在前端执行此操作,因为浏览器上的 JavaScript 仅在站点打开时执行。
要做到这一点,您需要一台服务器每隔 X 次 运行 一个代码,这就是一个 cron。
该代码可以用 Python、JavaScript (Node.js) o PHP.
等语言编写
如果您可以在网站上托管它,您可能也可以 运行 PHP 所以我建议您使用 PHP。你会这样做:
在您的 HTML use a Form to send the content of the email via POST 到 PHP 文件。
上传一个 PHP 文件,该文件读取 POST parameters and saves a file(例如 JSON),对于每封电子邮件,其中包含:应该发送的时间戳以及邮件内容。
上传一个 PHP 文件,该文件读取具有过去时间戳的 "pending emails to send" 文件和 sends the emails 并从文件中删除该邮件。
设置一个 cron,每天早上 8 点 运行 发送第二个 PHP 文件。
我正在使用 SMTPJS 通过 Gmail SMTP 发送电子邮件。这是我的简单工作代码:
<script src="https://smtpjs.com/v2/smtp.js"></script>
sendEmail(to, subject, body){
Email.send(
"SITENAME noti.sitename@gmail.com", //from
to, //to
subject, //subject
body, //body
"smtp.gmail.com", //smtp host
"noti.sitename@gmail.com", //username account
"Noti-Password", //password account
message=>{
alert("sent");
}
)
}
我需要做的是发送一封按日期发送的电子邮件。例如 2 周后或 30 天后。那么是否可以通过添加一些行或做其他方式来实现?
我认为仅 JavaScript 是不可能的 为此,您需要在特定时间打开浏览器,它可以从服务器端进行管理,但就我对客户端的关注而言,它可以通过仅限必须嵌入到客户端浏览器中的扩展。您可以在特定时间使用后台或 cantent 脚本发送消息
您不能在前端执行此操作,因为浏览器上的 JavaScript 仅在站点打开时执行。
要做到这一点,您需要一台服务器每隔 X 次 运行 一个代码,这就是一个 cron。 该代码可以用 Python、JavaScript (Node.js) o PHP.
等语言编写如果您可以在网站上托管它,您可能也可以 运行 PHP 所以我建议您使用 PHP。你会这样做:
在您的 HTML use a Form to send the content of the email via POST 到 PHP 文件。
上传一个 PHP 文件,该文件读取 POST parameters and saves a file(例如 JSON),对于每封电子邮件,其中包含:应该发送的时间戳以及邮件内容。
上传一个 PHP 文件,该文件读取具有过去时间戳的 "pending emails to send" 文件和 sends the emails 并从文件中删除该邮件。
设置一个 cron,每天早上 8 点 运行 发送第二个 PHP 文件。