PHP邮件冻结



每次我用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.";
}
?>

在Windows上的PHP中,您必须在php.ini文件中提供SMTP服务器。如果SMTP配置指令配置正确,请检查您的配置。超时可能是因为PHP无法访问正确的服务器。

查看PHP邮件()超时。我怀疑你也有类似的问题。

此外,请确认您在php.ini中使用的设置是您的互联网服务提供商(如果您是通过localhost执行此操作)或托管提供商(如果你正在为服务器使用托管服务)建议的设置。一些提供商要求对传出的电子邮件进行不稳定的设置。

相关内容

  • 没有找到相关文章

最新更新