0

PHP バージョン 5.3.3-7+squeeze14 で apache をインストールしましたが、メールが機能しません。これは私が使用しているコードです。

error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 1);
echo 'I am : ' . `whoami`;
$result = mail('*****','Testing 1 2 3','This is a test.');
echo '<hr>Result was: ' . ( $result === FALSE ? 'FALSE' : 'TRUE') . $result;
echo '<hr>';
echo phpinfo();

これは私が得る応答です:

I am : www-data
Result was: FALSE

私のphp.iniで2行を編集しました。これが今の様子です。

sendmail_path = /usr/sbin/sendmail -t -i -f something@****.lt
sendmail_from = something@****.lt

/var/log/mail.logもう1時間以上色々試してるのに全然空っぽです。

私はLinuxにかなり慣れていないので、見つけられないように見える明らかなものが欠けていると確信しています...

編集設定に変更を加えるたびにApacheを再起動することを忘れており、Debian 6.0を使用しています

4

2 に答える 2

2

postfix または sendmail をインストールする必要があります (Postfix が推奨されます)。

PHP の mail() 関数には、何らかの形で MTA が必要です。

または、複雑な方法を使用して smtp Mailclass のスクリプトを作成することもできます: email.about.com/od/emailprogrammingtips/qt/…

または、phpmailer: phpmailer.worxware.com を使用できます。

しかし、mail() を使用できるようにするには、mta (別名 postfix または sendmail) が必要です。

于 2013-01-11T12:08:04.517 に答える
2

mail() 関数は、多くのサーバーでさまざまな方法で構成されています。SMTP サポートのあるメール クラスを使用すると、時間を大幅に節約できます。私が好む:

https://github.com/Synchro/PHPMailer

一方、SMTP サーバーごとにメールを送信すると、スパム フィルターなどを使用した方がうまく機能します。

于 2013-01-11T12:57:06.447 に答える