如何从HTML5表单发送电子邮件


How to send an email from an HTML5 form

我有问题,试图提交一个表单,并有它的电子邮件提交的数据。我知道这通常是做的,但我似乎有问题弄清楚什么是错的。所以当前代码是。

 <div class="contact" id="contact">
        <div class="wrap">
            <h3>CONTACT US</h3>
            <p class="a">Free Estimates</p>
            <div class="form">
                 <div class="form-text">
                 <form action="../contact.php">
                    <input type="text" class="textbox" value="Your Name*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Name';}">
                    <input type="text" class="textbox" value="Your E-mail*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'E-mail';}">
                    <input name="PNumber" type="text" class="Subject" value="Phone Number" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Website';}">
                </div>
                     <textarea placeholder="Your Message*"></textarea>
                     <div class="clear"> </div>
                     <input type="submit" value="SEND MESSAGE">                  
             </div>
     </div>
     </div>

我有一个名为mailfrom。php的文件但我想这就是问题所在

<?php
$to      = 'contact@qixty.com';
$subject = 'New Request from Website';
$message = $_POST['mytextarea'];
$headers = 'From: webmaster@qixty.com' . "'r'n" .
'Reply-To: contact@qixty.com' . "'r'n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>

当我在主页上点击提交后,我被带到一个新的空白页面。

http://qixty.com更改URL来http://qixty.com/mailfrom.php?PNumber=Phone+Number

任何帮助都太好了。我知道我可以像这样插入一个mailto的链接

<a href="mailto:contact@qixty.com?cc=faulkerson@gmail.com" class="btn" data-type="submit">Send</a>

但这不会发布表单数据。我想让它发送电子邮件给我与窗体数据在消息体。

你需要:

  • method="POST"添加到<form>
  • 添加name属性(匹配你试图在$_POST中使用的键)到你的表单控件(例如<textarea name="mytextarea"></textarea>)。

如果您不希望在浏览器中显示一个空白页面,那么从PHP脚本中输出一些内容,并调用mail()

您还应该停止滥用value属性作为<label>。使用合适的<label>元素,并保留value属性以提供默认值。

如果你的动作文件名是mailform.php,那么这个

<form action="../contact.php">
应该

<form action="../mailform.php">

如果两个文件在同一个目录中,则从action属性中删除../

<标题> 更新

形式
<div class="contact" id="contact">
        <div class="wrap">
            <h3>CONTACT US</h3>
            <p class="a">Free Estimates</p>
            <div class="form">
                 <div class="form-text">
                 <form method='post' action="../mailform.php">
                    <input type="text" class="textbox" value="Your Name*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Name';}">
                    <input type="text" class="textbox" value="Your E-mail*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'E-mail';}">
                    <input name="PNumber" type="text" class="Subject" value="Phone Number" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Website';}">
                </div>
                     <textarea name='mytextarea' placeholder="Your Message*"></textarea>
                     <div class="clear"> </div>
                     <input type="submit" value="SEND MESSAGE">                  
             </div>
     </div>
     </div>

mailform.php


$to      = 'contact@qixty.com';
$subject = 'New Request from Website';
$message = $_POST['mytextarea'];
$headers = 'From: webmaster@qixty.com' . "'r'n" .
'Reply-To: contact@qixty.com' . "'r'n" .
'X-Mailer: PHP/' . phpversion();
$send = mail($to, $subject, $message, $headers);
// this will help you to get the status mail sent or not
if($send) :
   echo "Email sent";
else :
    echo "Email sending failed";
endif;

这个问题已经有了答案。我有html问题,php是好的。

<div class="form">
                 <div class="form-text">
                 <form action="../mailfrom.php" method="post">
                    <input type="text" class="textbox" value="Your Name*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Name';}">
                    <input type="text" class="textbox" value="Your E-mail*" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'E-mail';}">
                    <input name="PNumber" type="text" class="Subject" value="Phone Number" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Website';}">
                </div>
                     <textarea name="mytextarea" placeholder="Your Message*"></textarea>
                     <div class="clear"> </div>
                     <input type="submit" Label="SEND MESSAGE">                  
             </div>