メール関数を使用可能にするには、PHP のコンパイル時点でシステム上の sendmail バイナリにアクセスできなければなりません。 postfix や qmail など他のメールプログラムを使用してる場合には、 それらのソフトに付随する適当な sendmail ラッパを使用するように 気をつけてください。 PHP は sendmail を探す際にまず PATH を見ます。次に /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib の順で探します。PATH を通して sendmail を使用可能な 状態にしておくことが強く推奨されます。 また、コンパイルされた PHP が sendmail バイナリにアクセスできる権限を 持っていなければなりません。
PHP コアに含まれるため、 追加のインストール無しで使用できます。
php.ini の設定により動作が変化します。
表 1. Mail 設定オプション
名前 | デフォルト | 変更の可否 | 変更履歴 |
---|---|---|---|
SMTP | "localhost" | PHP_INI_ALL | |
smtp_port | "25" | PHP_INI_ALL | |
sendmail_from | NULL | PHP_INI_ALL | |
sendmail_path | NULL | PHP_INI_SYSTEM |
以下に設定ディレクティブに関する 簡単な説明を示します。
SMTP
stringWindows 環境のみで使用されます: mail() 関数でメールを送信する際に使用する SMTP サーバのホスト名または IP アドレス。
smtp_port
intWindows 環境のみで使用されます: SMTP 設定で指定したサーバに接続するポート番号で、 デフォルトは 25 です。PHP 4.3.0 以降でのみ利用可能です。
sendmail_from
stringWindows 環境で、PHP から送信されるメールにおいて "From:" に使用するメールアドレスを指定します。 このディレクティブは、"Return-Path:" ヘッダも設定します。
sendmail_path
stringsendmail プログラムを探すパスを指定します。 通常、/usr/sbin/sendmail または /usr/lib/sendmail です。 configure は、このパスを探し、 デフォルト値として設定しますが、 これで上手くいかない場合にはこのオプションで設定する必要があります。
sendmail を使用していないシステムは、 使用するメールシステムが提供する sendmail のラッパ/代替品を、 必要に応じてこのディレクティブに設定する必要があります。例えば、Qmail ユーザは、通常 /var/qmail/bin/sendmail または /var/qmail/bin/qmail-inject に設定します。
qmail-inject では、 メールを正しく処理するためのオプション設定は不要です。
このディレクティブは Windows 環境でも動作します。指定された場合は
smtp
および smtp_port
・
sendmail_from
の値は無視され、
ここで指定したコマンドが実行されます。
リソース型は定義されていません。
定数は定義されていません。