php.ini の設定により動作が変化します。
| 名前 | デフォルト | 変更可能 | 変更履歴 |
|---|---|---|---|
| mail.add_x_header | "0" | INI_PERDIR |
|
| mail.mixed_lf_and_crlf | "0" | INI_SYSTEM|INI_PERDIR |
PHP 8.2.4 で追加されました。 |
| mail.log | NULL | INI_SYSTEM|INI_PERDIR |
|
| mail.force_extra_parameters | NULL | INI_SYSTEM |
|
| SMTP | "localhost" | INI_ALL |
|
| smtp_port | "25" | INI_ALL |
|
| sendmail_from | NULL | INI_ALL |
|
| sendmail_path | "/usr/sbin/sendmail -t -i" | INI_SYSTEM |
以下に設定ディレクティブに関する 簡単な説明を示します。
mail.add_x_header
bool
X-PHP-Originating-Script を追加します。
それはスクリプトの UID を含み、その後にファイル名が続きます。
mail.log
string
ログファイルへのパス。mail()
がコールされるたびにこのファイルに記録します。
ログに含まれる内容は、スクリプトのフルパスと行番号、そして
To アドレスとヘッダです。
mail.mixed_lf_and_crlf
bool
メールヘッダとメッセージボディの改行をLF(Line Feed) に戻せるようにします。 これは、PHP 7 の RFC に準拠しない振る舞いを真似るものです。 この設定は、メールヘッダとメッセージの改行コード CRLF(Carriage Return + Line Feed) を正しく処理できない RFC 非準拠の MTA と互換性を取るために提供されています。
mail.force_extra_parameters
string
指定したパラメータを、sendmail バイナリへの追加パラメータとして強制的に渡します。 これらのパラメータは、常に mail() の第 5 パラメータの値を上書きします。
INI_SYSTEM のデフォルトの振る舞いに加えて、
この値は httpd.conf の php_value
を使って設定することもできます(が、お勧めはしません)。
SMTP
string
Windows 環境のみで使用されます: mail() 関数でメールを送信する際に使用する SMTP サーバーのホスト名または IP アドレス。
smtp_port
int
Windows 環境のみで使用されます:
SMTP 設定で指定したサーバーに接続するポート番号で、
デフォルトは 25 です。
sendmail_from
string
SMTP 経由で直接送信されるメールにおいて "From:"
に使用するメールアドレスを指定します(Windows環境のみ)。
このディレクティブは、"Return-Path:" ヘッダも設定します。
sendmail_path
string
sendmail プログラムを探すパスを指定します。 通常、/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 の値は無視され、 ここで指定したコマンドが実行されます。