使用html创建电子邮件表单

时间:2016-10-05 23:24:09

标签: html forms email

我想创建一个HTML表单来发送电子邮件。 这样的事情:当用户输入姓名,电子邮件和消息时,按发送按钮,消息发送到我的电子邮件地址。 我搜索了很多。但我找不到任何有用的东西。 非常感谢

<form id="form" action="mailto:mail@mail.com" method="post">
     <p class="column col4"><label for="name">Name:</label><input type="text" name="name" id="name" /></p>
     <p class="column col4"><label for="email">E-mail:</label><input type="text" name="email" id="email" /></p>
     <p class="column col8"><label for="message">Message:</label><textarea rows="5" name="message" id="message"></textarea></p>
     <p class="column col8"><input class="button" type="submit" value="Send" /></p>
                        </form>

这不起作用。按下发送按钮后,Outlook打开,而不是消息我得到名字= ....&amp; message = ....

我的服务器支持php。

请帮帮我

2 个答案:

答案 0 :(得分:1)

mailto: as a form action is highly unreliable,以至于它在WWW上实际上无法使用。

您需要将操作设置为HTTP(或最好是HTTPS)URL,然后使用服务器端技术处理表单提交。

在任何服务器端编程语言中阅读表单数据和发送电子邮件都相对简单。所以你可以先看看你的服务器支持这些行,然后再使用它。

或者,有(或者至少在上次我看过)第三方表单邮件服务,它允许您将操作设置为在其网站上托管的URL。

答案 1 :(得分:0)

您无法通过HTML发送电子邮件。您需要将表单提交到可以在服务器上运行代码的页面。 PHP可能是你的不错选择。

email_form.html:

<html><body>
  <form action="send_email_to_minerva.php">
    Name: <input type="text" name="name"><br />
    Email: <input type="email" name="email_address"><br />
    Message:<br /><textarea name="message"><br />
    <input type="submit" value="Send">
  </form>
</body></html>

send_email_to_minerva.php:

<html><body>
  <?php
    // The message
    $name = $_GET["name"];
    $email_address = $_GET["email_address"];
    $message = $_GET["message"];
    $full_message = $name + '\n\r' + $email_address + '\n\r' + $message;
    $subject = 'Someone just emailed you from your own site';
    // Send
    mail('minerva@example.com', $subject, $full_message);
  ?>

  Your mail has been sent.
</body></html>