Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP发送表单在特定web主机上不起作用_Php_Email_Web Hosting - Fatal编程技术网

PHP发送表单在特定web主机上不起作用

PHP发送表单在特定web主机上不起作用,php,email,web-hosting,Php,Email,Web Hosting,我的网络主机有问题,我一直试图打电话给支持人员,但还没有答复,所以我在这里尝试 我有一个简单的PHP代码,可以向我的gmail发送邮件,这个代码在我的另一个托管网站上运行良好,但在www.one.com上,PHP只显示“您的电子邮件已发送”。但是没有电子邮件发送。我已将文件的权限设置为777,但运气不好 我能做些什么来解决这个问题,还是这对我的web主机来说是个问题 这是我的密码 <?php $name = "MyName"; $email = "MyName@gmail

我的网络主机有问题,我一直试图打电话给支持人员,但还没有答复,所以我在这里尝试

我有一个简单的PHP代码,可以向我的gmail发送邮件,这个代码在我的另一个托管网站上运行良好,但在www.one.com上,PHP只显示“您的电子邮件已发送”。但是没有电子邮件发送。我已将文件的权限设置为777,但运气不好

我能做些什么来解决这个问题,还是这对我的web主机来说是个问题

这是我的密码

<?php 
    $name = "MyName";
    $email = "MyName@gmail.com";
    $message = "This is a test";

    $to = 'Myothermail@gmail.com';
    $subject = 'the subject';
    $message = 'FROM: '.$name.' Email: '.$email.'Message: '.$message;
    $headers = 'From: www.mysite.se' . "\r\n";

    if (filter_var($email, FILTER_VALIDATE_EMAIL)) { // this line checks that we have a valid email address

    mail($to, $subject, $message, $headers); //This method sends the mail.
        echo "<div class='alert alert-success alert_box'>Your email was sent.</div>"; // success message

    }
        else
    {
        echo " <div class='alert alert-error alert_box'>Your email address is invalid. Please enter a valid address.</div>";
    }
?>

您的脚本显示您的电子邮件已发送,因为您实际上没有检查任何内容。如果成功返回true,否则返回false,因此:

if(mail($to, $subject, $message, $headers)) { //This method sends the mail.
      echo "<div class='alert alert-success alert_box'>Your email was sent.</div>"; // success message
   } else 
   {
      echo "<div class='alert alert-error alert_box'>Mail send problem.</div>";
   }
}
    else
{
    echo " <div class='alert alert-error alert_box'>Your email address is invalid. Please enter a valid address.</div>";
}
if(mail($to,$subject,$message,$headers)){//此方法发送邮件。
回显“您的电子邮件已发送。”;//成功消息
}否则
{
回显“邮件发送问题”;
}
}
其他的
{
echo“您的电子邮件地址无效。请输入有效地址。”;
}

您可以检查日志或启用错误报告吗?

“但还没有答案”听起来您需要一个新的hostWeb酒店?你是说web主机吗?你没有检查
mail()
的结果,因此无论电子邮件是否实际发送,它都会说电子邮件已发送。此
$headers='From:www.mysite.se'。“\r\n”无效。它应该是电子邮件地址,而不是网站地址/URL。在某些情况下,邮件将被拒绝或发送为垃圾邮件;所以,检查你的垃圾邮件框。检查例外情况,尝试{mail($to,$subject,$message,$headers);}catch(Exception$e){var_dump($e);}谢谢,现在我在web主机上遇到邮件发送问题,这正困扰着我,在另一个主机上,它像一个魔咒一样工作。。。