首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不发送电子邮件的php表单

不发送电子邮件的php表单
EN

Stack Overflow用户
提问于 2015-09-22 06:57:10
回答 4查看 121关注 0票数 1

我是新的php和试图发送电子邮件到我的gmail通过表格。点击提交,我没有看到任何错误的网页,但我没有收到一封电子邮件。我的from id和mail id存在,来自email id的也在服务器上(确保不存在垃圾邮件)。

代码语言:javascript
复制
<?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>
        ";

        // 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="<?php echo $_SERVER['PHP_SELF']; ?>" 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" value="Send message" /></li>
    </ul>
</form>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-09-22 07:05:10

尝尝这个

代码语言:javascript
复制
<?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>

错误是

  1. name="submit"中的缺失属性( submit )
  2. 不使用$mailContent
  3. 邮件正文中没有结束标记(缺少</body><html>)
  4. action="<?php echo $_SERVER['PHP_SELF']; ?>"的错误声明
票数 1
EN

Stack Overflow用户

发布于 2015-09-22 07:03:44

试试这个:

代码语言:javascript
复制
<ul class="actions">
    <li><input type="submit" value="Send message" name="submit" /></li>
</ul>

为提交按钮指定“名称”。另外,你的isset($_POST['submit']不起作用

票数 1
EN

Stack Overflow用户

发布于 2015-09-22 07:07:45

此条件在代码中失败。

代码语言:javascript
复制
if(isset($_POST['submit']))

您需要为提交按钮提供名称属性,它将运行<input type="submit" name="submit" value="Send message" />

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32710309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档