小编典典

使用Javascript发送电子邮件

javascript

这有点令人困惑,所以请在这里忍受…

我想建立一个系统,使用户可以通过我的网站发送模板化的电子邮件,但实际上并没有使用我的服务器发送它-
它只是打开自己的本地邮件客户端,并准备发送电子邮件。该应用程序将使用预定义的变量填充电子邮件的正文,以节省用户必须自己键入的电子邮件。然后,如果该消息不完全适合其目的,则他们可以根据需要编辑该消息。

我有很多理由希望它通过用户的本地邮件客户端,因此让服务器发送电子邮件不是一种选择:它必须是100%的客户端。

我已经有一个运行良好的解决方案,我将发布其详细信息作为答案,我想知道是否还有更好的方法?


阅读 1421

收藏
2020-04-25

共1个答案

小编典典

我现在的操作方式基本上是这样的:

HTML:

<textarea id="myText">
    Lorem ipsum...
</textarea>
<button onclick="sendMail(); return false">Send</button>

Javascript:

function sendMail() {
    var link = "mailto:me@example.com"
             + "?cc=myCCaddress@example.com"
             + "&subject=" + escape("This is my subject")
             + "&body=" + escape(document.getElementById('myText').value)
    ;

    window.location.href = link;
}

令人惊讶的是,这很好。唯一的问题是,如果正文特别长(某些地方超过2000个字符),则它只会打开一封新电子邮件,但其中没有任何信息。我怀疑这可能与超出URL的最大长度有关。

2020-04-25