PHP邮件冻结
每次我用php发送邮件时,网站都会冻结120秒,然后抛出一个致命错误,超时时间超过。我试图通过创建一个仅包含以下代码的站点来隔离问题: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
$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)或您的主机提供商(如果您正在为服务器使用主机服务)推荐的设置。一些提供商要求发送电子邮件的设置不可靠 我试过了。只显示超过的致命错误时间。我已经尝试过了。仅显示超过的致命错误时间。