由于我在使用 Ubuntu 时遇到的一些问题,我最近将我的操作系统从 Ubuntu 11.10 更改为 Debian 7.0.0。我已经使用 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$