Mail::send()

Mail::send() -- メール送信

概要

require_once 'Mail.php';

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

説明

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

パラメータ

返り値

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

例外・エラー

表 45-1PEAR_Error の値

メーラドライバエラーコードエラーメッセージ意味解決
sendmail/smtpNULL "No from address given." $headersは、 少なくともfromエントリを必要とします、 Fromヘッダを追加します:

<?php
$headers['From'] = 'mymail@example.com';
?>

sendmailNULL "From address specified with dangerous characters." $headersに含まれるfromエントリは、 RFCに非準拠な文字を1文字以上含んでいます。 Fromアドレスに与えた文字に、 下記のような文字が無いか検査してください。 半角空白・;&` (backtick)
sendmailNULL "sendmail [path to sendmail] not executable" sendmailプログラムへのパスが正確ではありません。 実行可能なsendmailはそこに見つかりませんでした。 あなたが Mail::factory()を呼び出したときの、 $param['sendmail_path'] エントリを調べてください。 もし例えばqmailといったsendmailとは別のメーラ()の場合は メーラのインストールを確認してください。 通常はsendmailラッパを含まれるはずです。
sendmailNULL "sendmail returned error code code" sendmailが返すエラーです。 使用者はそれを扱わなければなりません。 あなたのメーラプログラムのドキュメントを参照ください。
smtpNULL "unable to instantiate Net_SMTP object" クラス生成の失敗です。 Net_SMTP パッケージの再インストールか更新をします。
smtpNULL "unable to connect to smtp server host:port" SMTPサーバへの接続に失敗です あなたが Mail::factory()を呼んだ時の $param['port']$param['host']エントリを確認します。
smtpNULL "unable to authenticate to smtp server" 認証の失敗です。 あなたが Mail::factory()を読んだときの $param['auth']$param['username']$param['password']エントリを確認します。 SMTPサーバのために正確な認証方法を確認してください。
smtpNULL "unable to identify smtp server" SMTPサーバへの開始要求に失敗しました。 接続するべきSMTPサーバーのRFC準拠を確認してください。
smtpNULL "unable to set sender to from" 差し出しアドレスへの送信に失敗しました。 差し出しアドレスのRFC準拠とサーバ接続を確認してください。
smtpNULL "unable to add recipient recipient:error code " 送信アドレスの送信を失敗しました。 送信アドレスのRFC準拠とサーバ接続を確認してください。
smtpNULL "unable to send data" メールメッセージ本文の送信が出来ませんでした。 メッセージ本文のRFC準拠とサーバ接続を確認してください。

注意

この関数は、スタティックにコールする ことはできません。


<?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';

// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory('sendmail', $params);

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

参照

Mail::factory()