(PHP 4 >= 4.0.6, PHP 5)
mb_send_mail — エンコード変換を行ってメールを送信する
$to
, string $subject
, string $message
[, string $additional_headers
= NULL
[, string $additional_parameter
= NULL
]] )email を送信します。ヘッダと本文は mb_language() の設定に基づき変換、エンコードされます。 これは mail() のラッパー関数です。詳細は、 mail() を参照ください。
to
送信先のメールアドレス。
各アドレスをカンマで区切ると、複数の宛先を
to
に指定できます。
このパラメータは、自動的にはエンコードされません。
subject
メールの件名。
message
メールの本文。
additional_headers
(オプション)メールヘッダの最後に挿入される文字列。
通常、これは追加のヘッダ(From、Cc、Bcc)のために用いられます。 複数のヘッダを追加する場合は CRLF(\r\n)で区切ります。 Validate parameter not to be injected unwanted headers by attackers.
注意:
メールを送信する際には、必ず From ヘッダが含まれていなければなりません。
additional_headers
パラメータで指定するか、 あるいは php.ini にデフォルト値を指定します。指定しなかった場合は、以下のようなエラーメッセージが返ります Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing 。 Windows では、From ヘッダを設定すると Return-Path も設定されます。
注意:
メッセージが受信されなかった場合には、LF(\n)のみを使ってみてください。 Unix の MTA の中には、自動的に LF を CRLF に変換してしまう もの (有名なところでは、» qmail など) があります(もし CRLF を利用していた場合、CR が重複してしまいます)。 ただし、これは最後の手段です。というのも、これは » RFC 2822 に違反しているからです。
additional_parameter
additional_parameter
は、MTA へ渡す
コマンドライン引数です。sendmail を利用する際に正しい Return-Path
を設定するためなどに利用すると便利です。
This parameter is escaped by escapeshellcmd() internally to prevent command execution. escapeshellcmd() prevents command execution, but allows to add addtional parameters. For security reason, this parameter should be validated.
Since escapeshellcmd() is applied automatically, some characters that are allowed as email addresses by internet RFCs cannot be used. Programs that are required to use these characters mail() cannot be used.
The user that the webserver runs as should be added as a trusted user to the sendmail configuration to prevent a 'X-Warning' header from being added to the message when the envelope sender (-f) is set using this method. For sendmail users, this file is /etc/mail/trusted-users.
成功した場合に TRUE
を、失敗した場合に FALSE
を返します。
バージョン | 説明 |
---|---|
5.0.0 | PHP 5.0.0 以降では、Content-Type および Content-Transfer-Encoding ヘッダの内容が 再定義可能となりました。PHP 4 では、常に mb_language() で定義された値が用いられていました。 |