【问题标题】:how to send an email through a web questionaire?如何通过网络问卷发送电子邮件?
【发布时间】:2021-08-10 01:54:31
【问题描述】:

所以我有以下一组类似于“form-control”(来自引导程序)的表单,您需要填写 3 种不同的表单:标题、电子邮件和消息本身

                    <form class="main_form">
                        <div class="row">
                         
                            <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12">
                                <input class="form-control" placeholder="title" type="text" name="Title">
                            </div>
                            <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12">
                                <input class="form-control" placeholder="Email" type="text" name="Email">
                            </div>
                            <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12">
                                <textarea class="textarea" placeholder="message" type="text" name="Message"></textarea>
                            </div>
                            <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12">
                                <button class="send" >send</button>
                            </div>
                        </div>
                    </form>

我的问题是,如何从表单控件中检索信息?然后,使用该信息发送这个其他脚本(按下发送按钮):

<?php
function send_mail( $subject, $message, $headers){
    // https://stackoverflow.com/questions/5335273/how-can-i-send-an-email-using-php
    $to = "bordadoscreativos.02@gmail.com";
    mail($to, $subject, $message, $headers);
}
?>

【问题讨论】:

  • 任何关于表单的体面教程都会解释提交的工作原理。根据方法,数据位于$_GET$_POST

标签: php html css twitter-bootstrap


【解决方案1】:

我们可以在编写此表单html代码的同一文件中编写发送邮件功能,但仅出于分离目的,我们创建一个名为“sendmail.php”的单独php文件。 将文件名放在表单的操作方法中。 $_POST 是一个 PHP 超级全局变量,用于在使用 method="post" 提交 HTML 表单后收集表单数据。

 <form class="main_form" method="post" action ="sendmail.php">
    <div class="row">          
    <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12">
        <input class="form-control" placeholder="title" type="text" name="Title">
    </div>
    <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12">
        <input class="form-control" placeholder="Email" type="text" name="Email">
    </div>
    <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12">
        <textarea class="textarea" placeholder="message" type="text" name="Message"></textarea>
    </div>
    <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12">
        <input class="send" type="submit" value="send" name="submitted_form">
    </div>
</div>
</form>

发送邮件.php

<?php
  if (isset($_POST['submitted_form'])){
    $subject = $_POST['Title'];
    $message = "Email : $_POST['Email'] Message: $_POST['Message']";
    $headers = "From:abc@xyz.com";
    send_mail($subject,$message,$headers);
  }
function send_mail( $subject, $message, $headers){
    // https://stackoverflow.com/questions/5335273/how-can-i-send-an-email-using-php
    $to = "bordadoscreativos.02@gmail.com";
    if(mail($to, $subject, $message, $headers)){
        echo "Message sent successfully...";
     }else {
        echo "Message could not be sent...";
     }
}
?>

【讨论】:

  • 哇,多么棒的答案!太感谢了。谈论超额交付。只是它向我抛出了这个错误:语法错误,意外的字符串内容“”,期待“-”或标识符或变量或数字......在sendmail.php的第4行。我试过修改逗号和你有什么但它不起作用
  • 编辑:我搞定了!只需要分割你的 $message 字符串并将其与电子邮件连接。
【解决方案2】:

我不会使用 php 发送电子邮件,而是使用在线后端表单提交服务。有一个名为 formsubmit.io 的网站可以为您完成所有工作,而且它是免费的。我已经编辑了代码,因此它将发送一封包含表单详细信息的电子邮件。只需将“将您的电子邮件放在此处”替换为您的电子邮件即可。

HTML

<form class="main_form" action="https://formsubmit.io/send/put your email here" method="POST">>
                        <div class="row">
                         
                            <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12">
                                <input class="form-control" placeholder="title" type="text" name="Title">
                            </div>
                            <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12">
                                <input class="form-control" placeholder="Email" type="text" name="Email">
                            </div>
                            <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12">
                                <textarea class="textarea" placeholder="message" type="text" name="Message"></textarea>
                            </div>
                            <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12">
                                <button class="send" >send</button>
                            </div>
                        </div>
                    </form>

【讨论】:

    猜你喜欢
    • 2014-03-03
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多