这有点令人困惑,所以请在这里忍受…
我想建立一个系统,使用户可以通过我的网站发送模板化的电子邮件,但实际上并没有使用我的服务器发送它- 它只是打开自己的本地邮件客户端,并准备发送电子邮件。该应用程序将使用预定义的变量填充电子邮件的正文,以节省用户必须自己键入的电子邮件。然后,如果该消息不完全适合其目的,则他们可以根据需要编辑该消息。
我有很多理由希望它通过用户的本地邮件客户端,因此让服务器发送电子邮件不是一种选择:它必须是100%的客户端。
我已经有一个运行良好的解决方案,我将发布其详细信息作为答案,我想知道是否还有更好的方法?
我现在的操作方式基本上是这样的:
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的最大长度有关。