通过电子邮件发送Javascript

时间:2011-07-19 18:41:23

标签: javascript email smtp

我知道这个话题已经涵盖了各种各样的角度,但我不确定我是否已经看到了我的具体问题的答案。

我正在用HTML5,CSS和Javascript编写原型网页。我希望用户能够浏览到要附加的文件,然后将该文件附加到我发送到我设置的特定电子邮件地址的电子邮件中。我不希望弹出用户的默认电子邮件程序。

我的公司内部网中有SMTP服务器的地址,但我目前无法访问服务器以放置服务器端代码。在网页上,用户将知道涉及电子邮件但我不希望他们除了选择文件并单击没有其他屏幕弹出的按钮之外还要做其他事情。

我知道如何使用mailto发送电子邮件,但我不认为你可以使用附件。

无论如何都可以这样做而不必弄乱服务器端?知道一个我有权限的smtp服务器地址吗?同样,这是一个原型,但可能是产品新功能的基础。

谢谢!

3 个答案:

答案 0 :(得分:3)

  

无论如何都可以这样做而不必弄乱服务器端?

不,除非目标浏览器公开了SMTP客户端对象。 (而且我认为没有。这会使垃圾邮件僵尸网络变得更容易构建......)

您需要在服务器上执行此操作。

答案 1 :(得分:0)

电子邮件无法由客户端发送。如果您想在客户端使用mailto链接,则必须使用mailto链接,但这不是最佳方式。相反,您应该向服务器发送请求并进行服务器端处理。如果您有SMTP凭据,则可以向服务器端发送电子邮件。

答案 2 :(得分:0)

我最近为PostageApp编写了一个插件,允许您通过jQuery发送电子邮件。基本上,您只需将API密钥与消息有效负载一起提供给您,您就可以将其发送出去。使用PostageApp,您可以将SMTP服务器添加到应用程序并通过它们发送。

用法如下:

<script type="text/javascript" src="postage.js"></script>

<script type="text/javascript">

    $(function() {
        $('p').postage({ 
            apiKey: "API KEY HERE", 
            recipients: "recipient@email.com", 
            template: "TEMPLATE_SLUG" });
      });

</script>

我没有发布插件,因为它很好......因为你的API密钥暴露出来并且这不是一件好事,因此对于生产使用从来没有意义。然而,它适用于原型设计(我使用它!),我很乐意分享。

完全披露:我是PostageApp的产品经理。)