我可以使用JavaScript创建客户端电子邮件吗?

时间:2008-08-11 07:39:51

标签: javascript email

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

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

  

主题:未定义的主题
  体:

     

参数1 =值1
  参数2 =值2
  。
  。
  。
  paramn = valuen

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

  

主题:XXXXX

     

身体:   值1;值2;值3 ...值N

5 个答案:

答案 0 :(得分:15)

我们在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();    
}

答案 1 :(得分:6)

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

  1. 创建一个接受用户输入的页面,并允许他们通过您的Web服务器发送邮件。您需要某种服务器端脚本。
  2. 使用mailto:链接触发用户注册邮件客户端的打开。这有你提到的明显陷阱,而且灵活性较差。但它需要的工作量较少。

答案 2 :(得分:4)

仅使用javascript,不可能 Javascript并不打算做这些事情,并且它与其所在的Web浏览器之外的其他任何东西的交互方式都严重削弱了(出于好的理由!)。

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

答案 3 :(得分:1)

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

  var mail = "mailto:buddy@mail.com?subject=New Mail&body=Mail text body";  
  var mlink = document.createElement('a');
  mlink.setAttribute('href', mail);
  mlink.click();

答案 4 :(得分:0)

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