使用Javascript发送电子邮件这有点令人困惑解释,所以在这里忍受我...我想建立一个系统,用户可以通过我的网站发送模板化的电子邮件,除非它实际上并没有使用我的服务器发送 - 它只是打开他们自己的本地邮件客户端,并准备好电子邮件。应用程序将使用预定义变量填充电子邮件正文,以保存用户必须自己键入。然后,如果消息不完全符合他们的目的,他们可以根据需要编辑消息。我希望它通过用户的本地邮件客户端有很多原因,因此让服务器发送电子邮件不是一个选择:它必须是100%客户端。我已经有一个主要运行的解决方案,我会发布详细信息作为答案,我想知道是否有更好的方法?
3 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
我现在这样做的方式基本上是这样的:
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的最大长度有关。
慕运维8079593
TA贡献1876条经验 获得超5个赞
这是使用jQuery和“元素”点击的方式:
$('#element').click(function(){ $(location).attr('href', 'mailto:?subject=' + encodeURIComponent("This is my subject") + "&body=" + encodeURIComponent("This is my body") );});
然后,您可以通过从输入字段(即使用$('#input1').val()
或通过服务器端脚本)提供内容来获取您的内容$.get('...')
。玩得开心
添加回答
举报
0/150
提交
取消