用php邮件发送的邮件没有显示出来

时间:2013-06-01 19:21:45

标签: php linux apache debian

我最近将我的操作系统从Ubuntu 11.10改为Debian 7.0.0,因为我遇到了一些Ubuntu的问题。我已经使用Apache 2设置了LAMP。大多数事情似乎都在起作用,但是在Ubuntu上工作正常的邮件现在无法正常工作。我使用以下代码。

    $mailDelivery=mail($to,$subject,$message,$headers);
    if ($mailDelivery)
    {
        ?>
        <script type="text/javascript">
        alert("Mail delivery successful");
        </script>
        <?php
    }
    else
    {
        ?>
        <script type="text/javascript">
        alert("Mail delivery failed");
        </script>
        <?php
    }

我检查了mail()的输入参数,它们与在Ubuntu上成功运行的参数相同。此外,警告框返回

Mail delivery successful

但是,邮件不会显示在地址(这是我的在线地址之一)。

我查看了php.ini,它有以下几行

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

/var/log/apache2/error.log中没有关于邮件传递的内容。

我还在目的地电子邮件地址检查了我的垃圾邮件文件夹,但那里什么都没有。

我还通过

将iptables从Ubuntu转移到了Debian
iptables-save >iptables.save

在Ubuntu上,复制iptables.save和

iptables-restore <iptables.save

我还使用以下结果进行了以下调用。

peter@app-server:/var/www$ sudo cat /var/log/mail.err
peter@app-server:/var/www$ sudo cat /var/log/mail.log
peter@app-server:/var/www$ sudo cat /var/log/mail.warn
peter@app-server:/var/www$ sudo cat /var/log/mail.info
peter@app-server:/var/www$ 

1 个答案:

答案 0 :(得分:0)

行。我找到了问题的根源。我没有安装SMTP服务器。我跑了

sudo apt-get install postfix

并解决了这个问题。