Ubuntu で発生していた問題のため、最近 OS を 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
しかし、メールはそのアドレス (私のオンライン アドレスの 1 つ) には表示されません。
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$