我可以使用 javascript 发送电子邮件吗
Posted
技术标签:
【中文标题】我可以使用 javascript 发送电子邮件吗【英文标题】:Can I send email using javascript 【发布时间】:2011-05-26 03:41:47 【问题描述】:是否可以仅使用 javascript 发送电子邮件?
【问题讨论】:
您可以对服务器上的脚本进行 AJAX 调用,该脚本会为您执行此操作...但这并不是真正的“只是 javascript”:-) 营销公司可以使用 Javascript 发送垃圾邮件吗? Sending emails with Javascript的可能重复 【参考方案1】:构建SMTP client in Javascript 实际上是可能的,而且并不难。
但该 SMTP 客户端仍需要与 SMTP 服务器通信才能传递其电子邮件。现在,向所有人开放的 SMTP 服务器非常罕见(因为它们很快成为垃圾邮件管道,然后被阻止和/或关闭)。
但是,如果使用客户端的人可以为其提供 SMTP 服务器和用户凭据(就像使用任何其他通用电子邮件客户端一样),那么可以,您可以仅使用 javascript 发送电子邮件。
【讨论】:
这不是 JavaScript 中的真正 SMTP 客户端,它是通过 php 后端发送邮件的邮件用户代理。 OP 要求“只是 javascript”。【参考方案2】:编辑:[警告!]自述文件:
这是一个第三方库,连接到外部服务器,小心 与您发送的信息。
另一个关于 JS 的解决方案你可以使用一个名为 smtpjs 的库
在标题中添加以下库您的 html:
<script src="https://smtpjs.com/smtp.js"></script>
使用这个没有安全性:
Email.send("from@you.com",
"to@them.com",
"This is a subject",
"this is the body",
"smtp.yourisp.com",
"username",
"password");
使用这个安全:
Email.send("from@you.com",
"to@them.com",
"This is a subject",
"this is the body",
token: "63cb3a19-2684-44fa-b76f-debf422d8b00");
【讨论】:
【参考方案3】:请注意,smtpjs 使用位于http://smtpjs 的服务。它不是真正的 Javascript SMTP 客户端。此“实用程序”意味着您正在将您的电子邮件凭据上传到服务器 smtpjs.com。 谨慎使用。
【讨论】:
【参考方案4】:如果您想从 SMTP 进程“静默”发送消息,则需要在服务器上或使用托管服务来完成。
如果您乐于使用用户的本地电子邮件程序,您可以使用described in this question 之类的方法。
【讨论】:
【参考方案5】:您可以重定向到mailto:someone@example.com?cc=someone_else@example.com&subject=This%20is%20the%20subject&body=This%20is%20the%20body
地址,该地址告诉浏览器启动邮件客户端,然后让邮件准备好发送 - 用户只需点击“提交”即可。
代码:
document.location="mailto:someone@example.com?cc=someone_else@example.com&"+
"subject=This%20is%20the%20subject&body=This%20is%20the%20body";
【讨论】:
实际上,you can do something like that in javascript 无需用户点击提交。但它假定本地计算机上存在诸如 Outlook 之类的电子邮件客户端。 @DOK:确定吗?在您链接的页面中的任何地方都看不到。这将是一个又大又胖的安全漏洞。 @thejh 我认为那里的代码很容易找到。这是问题的第一个答案。搜索“onclick”或“mailto:” @DOK:用户仍然需要在邮件客户端中点击“提交”。 @thejh 所以基本上你是在提出反对你提出的答案的论据。【参考方案6】:是的。使用网络服务。您可以对服务进行 AJAX 调用。 EmailYak 就是这样一种服务(它现在处于私人测试阶段)。
编辑: 这仍然是服务器端解决方案,因为实际的电子邮件是从服务器发送的。您只是通过 AJAX 与服务器通信并告诉它发送电子邮件。
【讨论】:
以上是关于我可以使用 javascript 发送电子邮件吗的主要内容,如果未能解决你的问题,请参考以下文章
发送带有希腊字符的电子邮件无法正确显示(使用HTML,Javascript,PHP)
使用javascript通过google api发送邮件失败