2

以下が機能しないのはなぜですか?

<?php

    mail('oshirowanen@gmail.com', 'some text here', 'some text here');

?>

access.log ショー:

127.0.0.1 - - [16/Jan/2013:08:46:52 +0000] "GET /test_mail.php HTTP/1.1" 200 294 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/536.11 (KHTML, like Gecko) Ubuntu/12.04 Chromium/20.0.1132.47 Chrome/20.0.1132.47 Safari/536.11"

error.log は以下を示します:

nothing

ターミナルから次のことも試しました。

echo 'body' | sendmail recipient@example.net

そして何もありません。

mail.log には次のように表示されます。

Jan 16 08:57:24 ubuntu postfix/smtp[4081]: connect to alt1.gmail-smtp-in.l.google.com[2a00:1450:4001:c02::1a]:25: Network is unreachable

受信箱や迷惑メールボックスにメールが届きません。

4

2 に答える 2

7

postfix/smtp[4081]: connect to alt1.gmail-smtp-in.l.google.com[2a00:1450:4001:c02::1a]:25: Network is unreachable

IPv6 サポートを有効にして Postfix を使用しているようですが、インターネット全体に接続されている IPv6 ネットワーク上にいないか、ファイアウォール ルールによって接続が妨げられています。

最も簡単なトラブルシューティング方法は、現在設定されているものの代わりに編集main.cfして変更inet_protocolsすることです。ipv4この変更を行った後、Postfix サービスを完全に再起動してください。リンクされたドキュメント ページには、IPv6 サポートを有効にした場合の影響に関する詳細が記載されています。

IPv4 にドロップしても接続できない場合は、システムとインターネットの間のファイアウォール ルールを探してください。

PHP の関数 を使用しないように積極的に勧めたいと思います。配送を保証するものではありません。舞台裏の何かにメールを引き渡そうとしたことを保証します。物事がうまくいかないとき、それはあなたに手がかりを与えません。代わりに、 SwiftmailerPHPMailerなどのサードパーティのメール ライブラリを、正常に動作することがわかっている SMTP サーバーと組み合わせて使用​​してください。これらのライブラリを使用すると、送信中に問題が発生した場合にはるかに明白になり、非常に便利な機能を起動できます。mail()mail()

于 2013-01-16T09:13:00.377 に答える
0

以下を使用して動作しました:

sudo apt-get install sendmail

php.ini を編集して sendmail のコメントを外します。

/etc/php5/apache2/

置く

sendmail_path = /usr/sbin/sendmail -t -i

変更を保存し、Apache を再起動します。

于 2013-01-16T19:30:53.383 に答える