如何使用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来做到这一点吗?
答
浏览器端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.");
添加一个ID,电子邮件输入,说' ID = “邮件”'。然后是'document.getElementById(“mail”).value'。 – onemach 2012-03-03 04:06:25
所以你想让用户发送电子邮件给自己? – xdazz 2012-03-03 04:09:08
您无法直接从客户端发送邮件。您可以将表单设置为'mailto'链接,但无法确认'mailto'发起的消息是否已成功发送。 – rjz 2012-03-03 04:09:52