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邮件冻结_Php_Email_Timeout - Fatal编程技术网

PHP邮件冻结

PHP邮件冻结,php,email,timeout,Php,Email,Timeout,每次我用php发送邮件时,网站都会冻结120秒,然后抛出一个致命错误,超时时间超过。我试图通过创建一个仅包含以下代码的站点来隔离问题: $to = 'my mail here'; $subject = 'invite'; $from = 'from our mail'; $message = 'asdf'; if(mail($to, $subject

每次我用php发送邮件时,网站都会冻结120秒,然后抛出一个致命错误,超时时间超过。我试图通过创建一个仅包含以下代码的站点来隔离问题:

 $to = 'my mail here';
            $subject        = 'invite';
            $from           = 'from our mail';
            $message        = 'asdf';

            if(mail($to, $subject, $message))
            {
                    echo 'sent to ' . $to;
            } else {
                    echo 'error';
            }

但这也不起作用。邮件有时会被寄出去,这让我很不舒服。我如何调试这个?我在Windows上使用Apache。

尝试通过使php显示错误日志进行调试。您可以将以下代码放在php代码的顶部,如下所示:

<?php 
error_reporting(-1);
?>

我在您的电子邮件发送代码中注意到的另一件事是,它不包含标题。邮件头是电子邮件功能正常工作所必需的

<?php
$to = "testing@example.com";
$subject = "Test mail";
$message = "This is a test email message.";
$from = "testing1@example.com";
$headers = "From:" . $from;
if(mail($to,$subject,$message,$headers)){
    echo "Mail is Sent.";
}else{
    echo "Mail not sent.";
}
?>

尝试通过使php显示错误日志进行调试。您可以将以下代码放在php代码的顶部,如下所示:

<?php 
error_reporting(-1);
?>

我在您的电子邮件发送代码中注意到的另一件事是,它不包含标题。邮件头是电子邮件功能正常工作所必需的

<?php
$to = "testing@example.com";
$subject = "Test mail";
$message = "This is a test email message.";
$from = "testing1@example.com";
$headers = "From:" . $from;
if(mail($to,$subject,$message,$headers)){
    echo "Mail is Sent.";
}else{
    echo "Mail not sent.";
}
?>

在Windows上的PHP中,您必须在
PHP.ini
文件中提供SMTP服务器。如果配置正确,请签入配置。超时可能是因为PHP无法到达正确的服务器。

在Windows上的PHP中,您必须在
PHP.ini
文件中提供SMTP服务器。如果配置正确,请签入配置。由于PHP无法到达正确的服务器,可能会发生超时。

请签出。我怀疑你也有类似的问题

此外,请确认您在php.ini中使用的设置是您的internet服务提供商(如果您是通过localhost)或您的主机提供商(如果您正在为服务器使用主机服务)推荐的设置。一些提供商要求发送电子邮件的设置不可靠

退房。我怀疑你也有类似的问题


此外,请确认您在php.ini中使用的设置是您的internet服务提供商(如果您是通过localhost)或您的主机提供商(如果您正在为服务器使用主机服务)推荐的设置。一些提供商要求发送电子邮件的设置不可靠

我试过了。只显示超过的致命错误时间。我已经尝试过了。仅显示超过的致命错误时间。