19

我想创建一个客户端邮件创建者网页。我知道在 html 表单中使用 mailto 操作的问题(不是标准的,客户端上没有设置默认邮件应用程序)。但是网页不是很重要,他们也不是很在意。

mailto 操作创建的邮件具有以下语法:

主题:未定义的主题
主体:

参数 1=值 1
参数 2=值 2

.
.
参数=值

我可以像这样使用 JavaScript 来格式化邮件吗?

主题:XXXXX

正文:Value1;Value2;Value3...ValueN

4

5 回答 5

18

我们在项目中使用的是一个弹出窗口,它打开一个 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();    
}
于 2008-08-11T09:45:17.873 回答
6

通过浏览器发送邮件时,您或多或少只有两种选择。

  1. 制作一个接受用户输入的页面,并允许他们通过您的网络服务器发送邮件。为此,您需要某种服务器端脚本。
  2. 使用 mailto: 链接触发打开用户注册的邮件客户端。这有你提到的明显缺陷,并且不太灵活。虽然它需要更少的工作。
于 2008-08-11T08:29:27.650 回答
4

仅使用 javascript,这是不可能的
Javascript 不打算做这样的事情,并且在它可以与除了它所在的网络浏览器之外的任何东西交互的方式上被严重削弱(有充分的理由!)。

想一想:垃圾邮件发送者使用客户端 javascript 编写网站,该网站会自动向数千个随机电子邮件地址发送邮件。如果人们应该去那个站点,他们都将参与分布式群发邮件骗局,使用他们自己的计算机......不需要感染或用户交互!

于 2008-08-11T08:48:39.017 回答
1

您可以创建一个 mailto-link 并使用 javascript 触发它:

  var mail = "mailto:buddy@mail.com?subject=New Mail&body=Mail text body";  
  var mlink = document.createElement('a');
  mlink.setAttribute('href', mail);
  mlink.click();
于 2015-01-30T11:18:33.853 回答
-1

您是否有理由不能将数据发送到处理发送邮件的页面?以大多数语言发送电子邮件非常容易,因此除非有充分的理由将其推送到客户端,否则我会推荐该路线。

于 2008-08-11T07:50:53.953 回答