【问题标题】:How to send email in php with jquery validation [duplicate]如何使用jquery验证在php中发送电子邮件[重复]
【发布时间】:2017-06-21 07:38:50
【问题描述】:

我刚开始学习 php 的基础知识,我想了解 w3schools 课程的内容。

我的 html 看起来像这样:

<form role="form" method="POST" id="main-contact-form">
<br style="clear:both">
    <h3 style="margin-bottom: 25px; text-align: center;">Contact a Conveyancing Property Lawyer Now</h3>
    <div class="form-group">
        <input type="text" class="form-control" id="name" name="name" placeholder="Name" required>
    </div>
    <div class="form-group">
        <input type="text" class="form-control" id="email" name="email" placeholder="Email" required>
    </div>
    <div class="form-group">
        <input type="text" class="form-control" id="mobile" name="mobile" placeholder="Mobile Number" required>
    </div>
    <div class="form-group">
        <input type="text" class="form-control" id="subject" name="subject" placeholder="Subject" required>
    </div>
    <div class="form-group">
    <textarea class="form-control" type="textarea" id="message" placeholder="Message" maxlength="140" rows="7" name="message"></textarea>
        <span class="help-block"><p id="characterLeft" class="help-block ">You have reached the limit</p></span>                    
    </div>

    <button type="submit" id="submit" name="submit" class="btn btn-primary">Submit</button>
 </form>

那么我的 jquery 文件如下所示:

$('#main-contact-form').submit(function(event){
event.preventDefault();
$.ajax({
    type:'post',
    url:'sendememail.php',
    data:$(this).serialize(),
    success:function(response){ 
        if(response==1)
        {   

            setInterval(function(){$('.review_form').html('<h5><center><div class="alert alert-success">Review Successfully Submitted......</div></center></h5>');},5);

        }
        else 
        {

            setInterval(function(){$('.review_form').html('<h5><center><div class="alert alert-danger">Sorry Your Review Was Not Submitted......</div></center></h5>');},5);

        }
    }

   });
  });

据我所知,这或多或少是电子邮件的发送方式:

<?php
    $to = "sidney@web2web.co.za";
    $subject = "My subject";
    $txt = "Hello world!";
    $headers = "sidney@web2web.co.za" . "\r\n" .
    "CC: personal@website.com";

    mail($to,$subject,$txt,$headers);
?>

我的 sendemail.php 看起来像这样:

<?php
extract($_POST);
$to = $email;
$subject = $subject;
$txt = $message;
$headers = "sidney@web2web.co.za" . "\r\n" .
"CC: personal@website.com";

mail($to,$subject,$txt,$headers);
?>

当我点击提交按钮时,我收到了您可以在图片中看到的错误:

希望你能帮忙。

提前致谢

【问题讨论】:

标签: php jquery email


【解决方案1】:

试试这个代码:

创建用于发送电子邮件的新页面,例如 sendemail.php,并在其中输入您的电子邮件代码。

从表单中删除操作并在表单标签中添加属性 id。

<form role="form" method="POST" id="main-contact-form">
<br style="clear:both">
        <h3 style="margin-bottom: 25px; text-align: center;">Contact a Conveyancing Property Lawyer Now</h3>
        <div class="form-group">
            <input type="text" class="form-control" id="name" name="name" placeholder="Name" required>
        </div>
        <div class="form-group">
            <input type="text" class="form-control" id="email" name="email" placeholder="Email" required>
        </div>
        <div class="form-group">
            <input type="text" class="form-control" id="mobile" name="mobile" placeholder="Mobile Number" required>
        </div>
        <div class="form-group">
            <input type="text" class="form-control" id="subject" name="subject" placeholder="Subject" required>
        </div>
        <div class="form-group">
        <textarea class="form-control" type="textarea" id="message" placeholder="Message" maxlength="140" rows="7" name="message"></textarea>
            <span class="help-block"><p id="characterLeft" class="help-block ">You have reached the limit</p></span>                    
        </div>

        <button type="submit" id="submit" name="submit" class="btn btn-primary">Submit</button>
 </form>

然后改变你的 JQuery 如下所示:

<script>
$('#main-contact-form').submit(function(event){
event.preventDefault();
$.ajax({
    type:'post',
    url:'sendememail.php',
    data:$(this).serialize(),
    success:function(response){ 
        if(response==1)
        {   

            setInterval(function(){$('.review_form').html('<h5><center><div class="alert alert-success">Review Successfully Submitted......</div></center></h5>');},5);

        }
        else 
        {

            setInterval(function(){$('.review_form').html('<h5><center><div class="alert alert-danger">Sorry Your Review Was Not Submitted......</div></center></h5>');},5);

        }
    }

   });
  });
 </script>

这里是你的 sendemail.php :

<?php
extract($_POST);
$to = $email;
$subject = $subject;
$txt = $message;
$headers = "sidney@web2web.co.za" . "\r\n" .
"CC: personal@website.com";

mail($to,$subject,$txt,$headers);
?>

电子邮件是发送给您在电子邮件文本框中输入的。

【讨论】:

  • 但是如果我想将电子邮件发送给我,我该怎么做。假设我的电子邮件是 user@gmail.com。我的 php 会是什么样子?
  • 查看我的编辑代码。
猜你喜欢
  • 1970-01-01
  • 2020-11-15
  • 1970-01-01
  • 2012-05-20
  • 1970-01-01
  • 2011-03-30
  • 2015-12-10
  • 2011-06-21
  • 2011-04-06
相关资源
最近更新 更多