繁体   English   中英

如何使用JavaScript通过电子邮件发送表单的内容?

[英]How can I send a form's contents over e-mail with JavaScript?

我有一个反馈HTML表单,需要将其结果发送到电子邮件地址。 如何在JavaScript中做到这一点?

你不能 您需要使用某种背景技术,例如python,ruby,coldfusion,php或ASP才能将其发送到您的电子邮件中。

网络上有一些免费服务,使您可以使用自己的资源来进行此操作,但是,如果您要处理安全信息,则最好使用自己的资源。

这是一个免费的PHP服务 ,可让您执行类似的操作,但请记住,这种服务通常是不可靠的。

您唯一的选择是提交常规表格,然后在服务器端发送。

您可以尝试执行此操作的一种方法是

<form action="mailto:example@example.com">

提交时,它将尝试通过电子邮件将表单发送到给定的电子邮件地址,这是一个非常讨厌的解决方案,因为它依赖于客户端具有正确配置的邮件客户端。 另外,您无法控制电子邮件的显示。 有关某些陷阱,请参见当心Mailto Action表单

不可能,仅适用于javascript,但可以借助服务器端脚本来实现。

在这里看看php邮件功能

您有两种选择:

1)使用mailto链接。 尽管您可以使用Java语言“单击” mailto链接,但Java语言并不是真正必需的。 这将导致用户的电子邮件客户端打开一个新电子邮件,该电子邮件预先填充了收件人的电子邮件地址。 mailto链接 mailto链接不可靠的原因有很多(请参阅下面的评论)。 不推荐使用它们。

2)将表单提交回服务器,然后从服务器发送电子邮件。 无论服务器端代码是什么(PHP,C#等),都应该能够发送电子邮件。 这样,您可以保证电子邮件已发送。

您无法通过浏览器静默发送电子邮件。 它必须在用户帮助下或在服务器上发生。

除了可能的AJAX,我没有其他办法。

编辑:澄清-AJAX将调用另一个函数,如PHP来实际发送邮件。 您需要在服务器端实现它。

EDIT2: 这是一篇文章

这是不可能的:),但是,您可以使用jQuery和后端应用程序,它们由python(django),php,asp.net等编写。

简单的jQuery脚本:

$('#button').click(function(){
    $.post('backend.php',
        {message:$('#message').val(),
         name: $('#name').val(),
         email:$('#email').val()},
         function(data) {
             $('.result').html(data);
         });
});

和PHP脚本:

<?php
if($_POST['message']) 
{
    $body = "Name: ".$_POST['name'];
    $body .= "<br>Email: ".$_POST['email'];
    $body .= "<br>Message: ".$_POST['message']
    if(mail("yourmail@mail.com","Subjects",$body))
        echo 'true';
    else echo 'false;';
}
?>

它简单,无需安全修复。

您不能使用客户端 javascript发送邮件。 将表单提交到服务器端脚本(如PHP / JSP / ASP等),然后从该脚本发送邮件。

您不能使用纯JavaScript来做到这一点,您可能也想为此使用ajax ,但是在幕后应该有一种服务器端语言来发送电子邮件。

如果您想要的东西甚至几乎可以满足一定数量的人的需求,那么在问题的约束范围内,您需要使用服务器端JavaScript (具体取决于您所使用的SSJS的特定实现, 请参见Whitebeam一个示例 )。

您必须使用服务器端脚本,例如php或perl

将表单内容发送到服务器端php。 在PHP中使用sendmail函数编写。

您的内容将发送到该电子邮件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM