如何使用javascript发送邮件

问题描述:

我有一个带有文本框的网页,用户可以在其中输入他的电子邮件ID。我想将邮件发送到输入的邮件ID。如何使用javascript发送邮件

<form action="mailto:[email protected]" method="post" enctype="text/plain" > 

FirstName:<input type="text" name="FirstName"> 

Email:<input type="text" name="Email"> 

<input type="submit" name="submit" value="Submit"> 

</form> 

问题是我想mailto:[email protected]从文本box.Then的消息应该会出现说,邮件发送成功服用。我可以使用JavaScript来做到这一点吗?

+2

添加一个ID,电子邮件输入,说' ID = “邮件”'。然后是'document.getElementById(“mail”).value'。 – onemach 2012-03-03 04:06:25

+0

所以你想让用户发送电子邮件给自己? – xdazz 2012-03-03 04:09:08

+0

您无法直接从客户端发送邮件。您可以将表单设置为'mailto'链接,但无法确认'mailto'发起的消息是否已成功发送。 – rjz 2012-03-03 04:09:52

浏览器端JavaScript无法自行发送电子邮件。最好的办法是尝试打开用户的电子邮件应用程序,以便他们发送电子邮件。例如:

location.href = 'mailto:' + encodeURIComponent(emailAddress) + 
       '?subject=' + encodeURIComponent(subject) + 
       '&body=' + encodeURIComponent(body); 

你可以挂钩的submit事件的形式,阻止默认动作,并执行该代码,而最终的结果将是他们填写表格,点击提交,他们的电子邮件客户端打开,他们可以点击发送。

Try it JSFiddle。

首先,不能使用javascript发送电子邮件。它只是一种客户端脚本语言,如果没有首先联系服务器并“请求”使用PHP或其他服务器端语言发送电子邮件,则不能发送电子邮件。

我不确定你说的你想要mailto:[email protected]从文本框中取得什么意思。 mailto:只是一个协议,它使浏览器打开用户的默认电子邮件程序来发送邮件到给定的地址。您可以轻松创建一个mailto:链接,用户可以点击该链接来执行此操作,或者从现有的mailto:链接中提取电子邮件地址,但仍然需要以其他方式发送电子邮件。

有很多复杂的方法告诉的消息已成功发送的用户,但是是最简单,最直接的可能是一个简单的提示框:

alert("Your email has been sent succesfully.");