【问题标题】:How to send an email from an HTML5 form如何从 HTML5 表单发送电子邮件
【发布时间】:2014-08-12 23:03:39
【问题描述】:

我在尝试提交表单并将提交的数据通过电子邮件发送时遇到问题。我知道这通常是这样做的,但我似乎在弄清楚这里出了什么问题时遇到了问题。所以现在的代码是。

 <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>

但这不会发布表单数据。我想让它向我发送一封电子邮件,其中包含邮件正文中的表单数据。

【问题讨论】:

    标签: php html email forms http-post


    【解决方案1】:

    你需要:

    • method="POST" 添加到&lt;form&gt;
    • name 属性(与您尝试在$_POST 中使用的键匹配)添加到您的表单控件(例如&lt;textarea name="mytextarea"&gt;&lt;/textarea&gt;)。

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

    您还应该停止滥用value 属性作为&lt;label&gt;。使用适当的&lt;label&gt; 元素并保留value 属性以提供默认值。

    【讨论】:

    • 谢谢大家昆汀这对我有用。我刚收到一封电子邮件。我现在可以弄清楚我的其他问题了 :) 这个问题已经得到解答。
    • Quentin 把你的 BTC 地址发给我,然后给你发一些比特币。
    【解决方案2】:

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

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

    应该是

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

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

    更新


    表格


    <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 上的内容,我将该文件放在一个目录上,所以我相信这是正确的。感谢您指出了这一点。我应该在提交问题之前进行校对
    【解决方案3】:

    这个问题已经回答了。我有 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>
    

    【讨论】:

      猜你喜欢
      • 2016-02-08
      • 2012-03-15
      • 2019-11-17
      • 1970-01-01
      • 1970-01-01
      • 2017-03-31
      • 2011-10-25
      • 2015-10-25
      相关资源
      最近更新 更多