我可以使用JavaScript创建客户端电子邮件吗?
时间:2020-03-05 18:38:54 来源:igfitidea点击:
我想创建一个客户端邮件创建者网页。我知道以html形式使用mailto操作的问题(不是标准的,客户端上未设置默认邮件应用程序)。但是网页不是很重要,他们也不太在意。
mailto操作创建的邮件具有以下语法:
subject: undefined subject body: param1=value1 param2=value2 . . . paramn=valuen
我可以使用JavaScript这样格式化邮件吗?
Subject:XXXXX Body: Value1;Value2;Value3...ValueN
解决方案
回答
我们是否有理由不能仅将数据发送到处理邮件的页面?使用大多数语言发送电子邮件非常容易,因此,除非有充分的理由将其发送到客户端,否则我建议使用该路由。
回答
通过浏览器发送邮件时,我们或者多或者少只有两种选择。
- 制作一个页面,接受用户输入,并允许他们通过网络服务器发送邮件。为此,我们需要某种服务器端脚本。
- 使用mailto:链接触发打开用户注册的邮件客户端。这具有我们提到的明显陷阱,灵活性较差。虽然它需要更少的工作。
回答
仅使用javascript,是不可能的。
Javascript并非旨在执行此类操作,并且会与它所驻留的Web浏览器以外的其他任何东西进行交互,从而严重削弱了Java语言的使用能力(有充分的理由!)。
想想看:垃圾邮件发送者使用客户端javascript编写网站,该网站将自动发送到数千个随机电子邮件地址。如果人们应该去那个站点,他们都将使用自己的计算机参加分布式的大规模邮件骗局……无需感染或者用户交互!
回答
我们在projet中使用的是一个打开mailto:链接的弹出窗口,这是我们发现在与所有邮件客户端(至少使用的所有客户端)一起使用的默认邮件客户端内编写邮件的唯一方法。
var addresses = "";//between the speech mark goes the receptient. Seperate addresses with a ; var body = ""//write the message text between the speech marks or put a variable in the place of the speech marks var subject = ""//between the speech marks goes the subject of the message var href = "mailto:" + addresses + "?" + "subject=" + subject + "&" + "body=" + body; var wndMail; wndMail = window.open(href, "_blank", "scrollbars=yes,resizable=yes,width=10,height=10"); if(wndMail) { wndMail.close(); }