2012-08-07 53 views
0

我建立了一个HTML表单,每当我提交我要求打开键G邮件或Outlook。当我这样做时,将打开一封包含正确电子邮件地址的新电子邮件。问题是我希望它在没有打开任何东西的情况下发送。我只想使用表单的HTML,没有PHP/MySQL。HTML表单不工作的权利

 <form method="post" action="mailto:[email protected]" enctype="text/plain"> 
      <p>Name: <input type="text" name="Name" size="20"></p> 
      <p>Email: <input type="text" name="Email" size="20"></p> 
      <p><input type="submit" value="Submit" name="Submit"></p> 
     </form> 

回答

2

您不应将表单动作设置为发送任何内容。

而应该有直接给你写了一个脚本,在那里你可以接受的POST变量,然后发送电子邮件。有一个原生的PHP函数叫做mail(),它可以做到这一点。您的代码应该是这样的:

HTML

<form method="post" action="scripts/mailtome.php" enctype="text/plain"> 
    <p>Name: <input type="text" name="Name" size="20"></p> 
    <p>Email: <input type="text" name="Email" size="20"></p> 
    <p><input type="submit" value="Submit" name="Submit"></p> 
</form> 

PHP - mailtome.php

<?php 
    $name = stripslashes(trim($_POST['Name'])); 
    $email = stripslashes(trim($_POST['Email'])); 
    $to = '[email protected]'; 
    $subject = 'CONTACT FORM'; 

    $body = "From: $name\n E-Mail: $email"; 

    if(mail($to, $subject, $body, $name.' - '.$email)) 
     echo("It worked"); 
    else 
     echo("Something went wrong"); 
?> 
+0

感谢您的回答。我只是试过这个,并且发给我正确的电子邮件,但它只是给我发送了文本'From:'和'Email:'。它没有通过电子邮件发送我实际输入到表单中的文本。 – cmorris1441 2012-08-07 20:13:07

+0

尝试删除enctype并查看它是否执行了任何操作。如果不是,请尝试将'$ _POST'更改为'$ _REQUEST'或'$ _GET'。可能不会做任何事情,但值得一试。 – cereallarceny 2012-08-07 20:23:27

+0

删除了enctype并且它正在工作。谢谢! – cmorris1441 2012-08-08 05:24:16

0

你不能在示例HTML上做到这一点。你必须需要PHP或类似发送邮件。 HTML在这种方式下不起作用。

行动的mailto只打开默认邮件应用程序。

谷歌是你的朋友,搜索之前问。网络就是一个很好的例子。

2

是不是真的支持mailto表单操作 - 如果您希望表单元素出现在与想要的地址的电子邮件,这不是形式应该如何工作。

你需要有一些服务器端代码,您可以将您的形式,并且将执行实际发送电子邮件。

0

它看起来像你正试图使注册表单,供用户输入他们的姓名和电子邮件,然后按提交将该信息发送至[email protected]。如果这是正确的,那么你有几个选项:

  1. 使用mailto链接,这是你在这里做什么。通常这些只是超链接而不是表单。该技术将提示用户选择电子邮件客户端以实际发送电子邮件。当您被要求打开Gmail或Outlook时,这就是发生了什么。好处是它不需要服务器。缺点是用户需要在电子邮件客户端中真正完成发送电子邮件的过程。
  2. 制作能够发送电子邮件的服务器端脚本。你可以用PHP或任何你想要的语言来做到这一点。然后制作提交给此服务器端脚本的表单。在这个选项中,用户只需按提交,但是你必须设置服务器端脚本,你提到你不想这样做。

如果您恰好在WordPress等其他博客软件的网站上运行此注册表单,它们通常会使用内置的方式制作注册表单以节省您的麻烦。