没有收到任何电子邮件

时间:2013-11-29 11:33:34

标签: php html contact-form

您好,我看到了一个在线php教程,无法收到此联系表单中的任何电子邮件,也无法理解我错在哪里

<html>
  <head></head>
    <body>

        <?php 
            if(isset($_POST["submit"])){
                $email = $_POST['email'];
                $subject = $_POST['subject'];
                $message = $_POST['message'];
                mail("abcsojf@gmail.com",$subject, $message, "From:" . $email);
            }
        ?>

        <h1>Contact Us</h1>
        <form method="post" action="abc.html">
            <table align="center" style="color:#fff;">
                <tr><td style="color:black">Email:<input type="text" name="email" /></td></tr>
                <tr><td style="color:black">subject:<input type="text" name="subject" /></td></tr>
                <tr><td style="color:black">Message:<br>
                <textarea name="message" cols="40" rows="15">Type your message here</textarea>
                <input type="submit" name="submit" value="send" /></td></tr>
            </table>
        </form>
    </body>
</html>

4 个答案:

答案 0 :(得分:1)

您需要加载页面:

  • 网络服务器(所以没有file:/// URI)
  • 安装了PHP
  • 将PHP配置为处理文件(使用PHP处理带.html扩展名的文件的服务器非常罕见。)

答案 1 :(得分:0)

如果您执行以下两项操作,您的代码将起作用:

  1. 由于您要提交到同一页面,因此可以删除操作部分。

    <form method="post" action="">
    
  2. 将当前页面保存为.php文件。

  3. 您的信息页将为abc.php

    现在在浏览器中运行您的页面并提交表单。

    p.s:你需要安装运行php的apache。

    您可以通过创建包含以下内容的新页面来检查:

    <?php phpinfo();?>
    

    希望这是有道理的。

答案 2 :(得分:0)

首先,通过PHP以默认设置发送邮件需要在服务器上安装和配置Sendmail服务。 在unix服务器中,您可以检查/usr/spool/mail/username文件,或/var/log/maillog以查看邮件日期()“使用情况”。

答案 3 :(得分:0)

有三种可能的方法使其正常工作。你必须遵守第一项义务。

1)从abc.html重命名您的文件 - &gt; abc.php并检查PHP是否可用并通过localhost /托管服务器工作。

2)将表单标签更改为

<form name="mailform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> OR
<form name="mailform" method="post" action="">

使您的发布数据在同一页面上可用。

3)而不是

if(isset($_POST["submit"])){

条件尝试使用

if(isset($_POST["submit"]) && isset($_POST["email"]) && isset($_POST["subject"])){

使用空值检查。这将确保邮件功能的数据可用性。还尝试使用以下标题扩展邮件功能。

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers = 'From: '.$email . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail("abcsojf@gmail.com",$subject, $message, $headers);

通过以下三个步骤,您将有希望获得所需的邮件。