php表单到电子邮件不发送电子邮件

php表单到电子邮件不发送电子邮件,php,email,forms,http-post,Php,Email,Forms,Http Post,我是php新手,试图通过表单向我的gmail发送电子邮件。单击“提交”,我在页面上没有看到任何错误,但我没有收到电子邮件。我的发件人id和收件人邮件id存在,并且发件人电子邮件id位于服务器上(确保不发送垃圾邮件) 试试这个: <ul class="actions"> <li><input type="submit" value="Send message" name="submit" /></li> </ul> 为

我是php新手,试图通过表单向我的gmail发送电子邮件。单击“提交”,我在页面上没有看到任何错误,但我没有收到电子邮件。我的发件人id和收件人邮件id存在,并且发件人电子邮件id位于服务器上(确保不发送垃圾邮件)


试试这个:

<ul class="actions">
    <li><input type="submit" value="Send message" name="submit" /></li>
</ul>
为提交按钮提供“名称”。另一方面,你的
设置($\u POST['submit']
不起作用

试试以下方法:

<ul class="actions">
    <li><input type="submit" value="Send message" name="submit" /></li>
</ul>
为“提交”按钮指定“名称”。否则,您的
设置($\u POST['submit']
将不起作用

<?php
    if(isset($_POST['submit'])){
        $to = "existingmygamilid@gmail.com";
        $subject = "Pickup Request";
        $mailContent = $_POST['name'].$_POST['adress'].$_POST['mobile'].$_POST['email'].$_POST['message'];
        $message = "
                    <html>
                    <head>
                    <title> Pickup Request</title>
                    </head>
                    <body>
                    <p>Hey!... You got a pickup request.</p><br><p>";
        $message .= $mailContent;
        $message .= "</p></body></html>";
        // Always set content-type when sending HTML email
        $headers = "MIME-Version: 1.0" . "\r\n";
        $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

        // More headers
        $headers .= 'From: <existingemail@testdomain.com>' . "\r\n";

        mail($to,$subject,$message,$headers);
    }
?>

<form action="" class="alt" method="post">
    <div class="row uniform 50%">
        <div class="6u 12u$(xsmall)">
            <input name="name" placeholder="Name" type="text" />
        </div>
        <div class="6u$ 12u$(xsmall)">
            <input name="address" placeholder="Address" type="text" />
        </div>
        <div class="6u 12u$(xsmall)">
            <input name="mobile" placeholder="Mobile or Landline" type="text" />
        </div>
        <div class="6u$ 12u$(xsmall)">
            <input name="email" placeholder="Email" type="email" />
        </div>
        <div class="12u$">
            <textarea name="message" rows="6"></textarea>
        </div>
    </div>
    <ul class="actions">
        <li><input type="submit" name="submit" value="Send message" /></li>
    </ul>
</form>

错误是

  • submit
    中缺少属性(
    name=“submit”
  • 不使用
    $mailContent
  • 邮件正文中没有结束标记(缺少
  • action=”“
  • 试试这个

    <?php
        if(isset($_POST['submit'])){
            $to = "existingmygamilid@gmail.com";
            $subject = "Pickup Request";
            $mailContent = $_POST['name'].$_POST['adress'].$_POST['mobile'].$_POST['email'].$_POST['message'];
            $message = "
                        <html>
                        <head>
                        <title> Pickup Request</title>
                        </head>
                        <body>
                        <p>Hey!... You got a pickup request.</p><br><p>";
            $message .= $mailContent;
            $message .= "</p></body></html>";
            // Always set content-type when sending HTML email
            $headers = "MIME-Version: 1.0" . "\r\n";
            $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
    
            // More headers
            $headers .= 'From: <existingemail@testdomain.com>' . "\r\n";
    
            mail($to,$subject,$message,$headers);
        }
    ?>
    
    <form action="" class="alt" method="post">
        <div class="row uniform 50%">
            <div class="6u 12u$(xsmall)">
                <input name="name" placeholder="Name" type="text" />
            </div>
            <div class="6u$ 12u$(xsmall)">
                <input name="address" placeholder="Address" type="text" />
            </div>
            <div class="6u 12u$(xsmall)">
                <input name="mobile" placeholder="Mobile or Landline" type="text" />
            </div>
            <div class="6u$ 12u$(xsmall)">
                <input name="email" placeholder="Email" type="email" />
            </div>
            <div class="12u$">
                <textarea name="message" rows="6"></textarea>
            </div>
        </div>
        <ul class="actions">
            <li><input type="submit" name="submit" value="Send message" /></li>
        </ul>
    </form>
    
    
    
    错误是

  • submit
    中缺少属性(
    name=“submit”
  • 不使用
    $mailContent
  • 邮件正文中没有结束标记(缺少
  • action=”“

  • 此条件在您的代码中失败

    if(isset($_POST['submit']))
    
    你需要给你的提交按钮赋予name属性,它就会起作用

    此条件在您的代码中失败

    if(isset($_POST['submit']))
    
    你需要给你的提交按钮赋予name属性,它就会起作用

    更改此行

    <input type="submit"  name="submit" value="Send message"/>
    
    
    
    更改此行

    <input type="submit"  name="submit" value="Send message"/>
    
    
    
    邮件无法到达传入文件夹的原因有很多。但基本上是因为邮件服务器提供商拒绝了来自“testdomain.com”的邮件来自一个非SPF IP.Amarnasan,testdomain.com是我的服务器名,正如我在问题中提到的,我确保EmailID不是垃圾邮件,域名是现有的域。我尝试了不带表单的测试代码,效果很好。你的邮件没有到达传入文件夹的原因有一百万个。但基本上是因为你的邮件服务器版本提供程序拒绝了来自“testdomain.com”的内容来自非SPF IP.Amarnasan,testdomain.com是我的服务器名,正如我在问题中提到的,我确保EmailID不是垃圾邮件,域名是现有域。我尝试了不带表单的测试代码,效果很好。这与AllReady提供的答案有什么不同?这与AllReady prov的答案有什么不同是吗?@Chandana很乐意帮忙:)@Chandana很乐意帮忙:)