8

私は、電子メール サーバー アプリケーションを管理するための Web インターフェイスを備えた電子メール サーバーである php/c# プロジェクトに取り組んでいます。

このプログラムは Windows と Linux で動作するはずですが、私は主に Windows で開発を行っています。

私は Linux でテストを行ったことがなく、恐ろしい問題を発見しました。

Windows PHPでグーグルで検索したところから、使用するSMTPサーバーを選択できますが、Linuxではこのオプションがないように見えるため、PHPが電子メールを送信すると、プログラムが完全にバイパスされます。

PHP で任意の SMTP サーバーを使用する方法はありますか? PEAR を使用して SMTP 設定を上書きできることは知っていますが、標準の PHP メール機能が機能することを望み、PHPBB フォーラムなどの他のソフトウェアが私のメール経由でメールを送信するようにします。デフォルトの php メールの代わりに SMTP サーバー。

これは可能ですか、それともナシを使用する唯一のオプションですか?

4

2 に答える 2

2

標準のphpメール関数は、php.iniでsendmail _pathとして定義されているものに送信するだけです

これは通常、sendmail -t -i

smtp を使用するように sendmail を構成する必要があります。

FWIW、PHP アプリから多くのメールを送信するほとんどの開発者は、mail() を悪用し、代わりに、より優れた構成可能性/信頼性を提供する多くのメール ライブラリ (またはサービス) の 1 つを使用します。

たとえば、メール関数を独自の PHP スクリプトにパイプし、そのスクリプトで必要なライブラリを使用して、メール送信を行うことができます (したがって、アプリケーション全体で mail() 関数の使用を維持できます)。

于 2012-08-13T22:02:30.157 に答える
1

mail()Windows 以外のシステムでは、関数で SMTP サーバーを使用することはできません。

smtpphp.iniの設定に関するドキュメントを参照してください。

phpmailerは、メール送信用の PHP ライブラリとして広く使用されています。SMTP やさまざまな認証タイプ、SSL/TLS など、さまざまなオプションをサポートしています。SMTP を使用してメッセージを送信する必要がある場合は、これ (または同様のものZend_Mailも参照) を使用することをお勧めします。

したがって、メール機能を使用することはできませんが、他の唯一のオプションは Pear ではありません。

于 2012-08-13T22:11:27.427 に答える