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

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

主题:未定义主题
身体:

参数1=值1
参数2=值2
.
.
.
参数=值n

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

主题:XXXXX

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

有帮助吗?

解决方案

我们在项目中使用的是一个打开邮件的弹出窗口:链接,这是我们发现在适用于所有邮件客户端(至少我们使用的所有客户端)的默认邮件客户端中撰写邮件的唯一方法。

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. 创建一个接受用户输入的页面,并允许他们通过您的网络服务器发送邮件。为此,您需要某种服务器端脚本。
  2. 使用邮寄地址:触发打开用户注册的邮件客户端的链接。这有你提到的明显缺陷,而且灵活性较差。但它需要较少的工作。

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

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

您可以创建一个 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();

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top