我最近将我的操作系统从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转移到了Debianiptables-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$
答案 0 :(得分:0)
行。我找到了问题的根源。我没有安装SMTP服务器。我跑了
sudo apt-get install postfix
并解决了这个问题。