Mail::send()

Mail::send() – メールを送信する

Synopsis

require_once 'Mail.php';

mixed send ( mixed $recipients , array $headers , string $body )

Description

メールを送信します。 send() 関数は、 factory() から返されたオブジェクトによって提供されます。

Parameter

  • mixed $recipients - 配列かカンマで区切った受取アドレスの文字列です。

  • array $headers - ヘッダの連想配列。 ヘッダ名が配列のキー、ヘッダの値が配列の値となります。 メールの envelope sender を書き換えたい場合は Return-Path ヘッダを設定します。 すると、この値が From ヘッダの値の代わりに用いられます。

  • string $body - メール本文です。

Return value

boolean - TRUE か、または失敗した場合は PEAR_Error オブジェクトです。

Throws

Possible PEAR_Error values
メーラドライバ エラーコード エラーメッセージ 意味 解決
sendmail NULL "No from address given." $headers は、 少なくとも from エントリを必要とします、 From ヘッダを追加します:
<?php
$headers
['From'] = 'mymail@example.com';
?>
sendmail NULL "From address specified with dangerous characters." $headers 配列の from エントリの中に、 RFC に準拠していない文字が含まれています。 From アドレスに与えた文字に、 下記のような文字が無いか検査してください。 半角空白・;&` (バッククォート/バックティック)
sendmail NULL "sendmail [path to sendmail] not executable" sendmail プログラムへのパスが正確ではありません。 実行可能な sendmail が見つかりませんでした。 あなたが Mail::factory() を呼び出したときの、 $param['sendmail_path'] エントリを調べてください。 もし例えば qmail といった sendmail とは別のメーラの場合は メーラのインストールを確認してください。 通常は sendmail ラッパを含んでいるはずです。
sendmail NULL "sendmail returned error code code" sendmail が返すエラーです。 使用者はそれを扱わなければなりません。 あなたのメーラプログラムのドキュメントを参照ください。
smtp PEAR_MAIL_SMTP_ERROR_CREATE "Failed to create a Net_SMTP object" クラス生成の失敗です。 Net_SMTP パッケージの再インストールか更新をします。
smtp PEAR_MAIL_SMTP_ERROR_CONNECT "Failed to connect to host:port" SMTP サーバへの接続に失敗しました あなたが Mail::factory() を呼んだ時の $param['port']$param['host'] エントリを確認します。
smtp PEAR_MAIL_SMTP_ERROR_AUTH "method authentication failure" 認証の失敗です。 あなたが Mail::factory() を呼んだときの $param['auth']$param['username']$param['password'] エントリを確認します。 その SMTP サーバ用の、正しい認証方法を使用してください。
smtp PEAR_MAIL_SMTP_ERROR_FROM "No From: address has been provided" $headers 配列には、少なくとも from のエントリが必要です。 From ヘッダを追加します:
<?php
$headers
['From'] = 'mymail@example.com';
?>
smtp PEAR_MAIL_SMTP_ERROR_SENDER "Failed to set sender: from" sender (送信者) アドレスの設定に失敗しました。 sender アドレスが RFC に準拠しているかどうか、 またサーバと接続できているかどうかを確認してください。
smtp PEAR_MAIL_SMTP_ERROR_RECIPIENT "Failed to add recipient: recipient " 受信者アドレスの送信に失敗しました。 受信者のアドレスが RFC に準拠しているかどうか、 またサーバと接続できているかどうかを確認してください。
smtp PEAR_MAIL_SMTP_ERROR_DATA "Failed to send data" メールメッセージ本文の送信が出来ませんでした。 メッセージ本文のRFC準拠とサーバ接続を確認してください。

Note

This function can not be called statically.

Example

<?php
include('Mail.php');

$recipients 'joe@example.com';

$headers['From']    = 'richard@example.com';
$headers['To']      = 'joe@example.com';
$headers['Subject'] = 'Test message';

$body 'Test message';

$params['sendmail_path'] = '/usr/lib/sendmail';

// Mail::factory メソッドを使用してメールオブジェクトを作成します
$mail_object =& Mail::factory('sendmail'$params);

$mail_object->send($recipients$headers$body);
?>

レンタルサーバー