PEAR Mail はメール送信プログラム用のモジュールです。
factory メソッドで Mail オブジェクトを作成して、send メソッドでメールを送信します。
require_once 'Mail.php';
object &factory (string $backend [, array $params = array()])
PHP の組込関数 mail() を使用して送信します | |
sendmail | sendmail プログラムにより送信します |
smtp | SMTP サーバに直接接続してメールを送信します |
$params["sendmail_path"] | システム上での sendmail プログラムの場所。デフォルト: /usr/bin/sendmail |
---|---|
$params["sendmail_args"] | sendmail プログラムへ渡す追加パラメータ。 デフォルト: -i |
$params['sendmail_path'] = '/usr/sbin/sendmail'; $mail_object = Mail::factory('sendmail', $params);
$params["host"] | 接続するサーバ名。 デフォルト:localhost |
---|---|
$params["port"] | 接続するポート番号。 デフォルト:25 |
$params["auth"] | SMTP 認証を使用するかどうか。 デフォルト: FALSE |
$params["username"] | SMTP 認証で使用するユーザ名。 |
$params["password"] | SMTP 認証で使用するパスワード。 |
$params["localhost"] | EHLO あるいは HELO を送信する際に使用する値。 デフォルト: localhost |
$params["timeout"] | SMTP 接続のタイムアウト。 デフォルト: NULL (タイムアウトしない) |
$params["verp"] | VERP を使用するかどうか。デフォルト: FALSE |
$params["debug"] | SMTP デバッグモードを使用するかどうか。デフォルト: FALSE |
$params["persist"] | SMTP 接続を、send() メソッドの複数回呼出しで持続させるかどうか指示します。 |
$params = array( "host" => "mail.hogehoge.com", "port" => 587, "auth" => true, "username" => "user"; "password" => "pass"; ); $mail_object = Mail::factory("smtp", $params);
Mail::send()
mixed send (mixed $recipients, array $headers, string $body)
実際に送信するメールアドレスです。ヘッダーの「To」や「Cc」で指定したメールアドレスではなく「recipients」に指定したメールアドレスにメールが送信されます。
メールヘッダーに日本語が含まれる場合は、「mb_encode_mimeheader」関数を使って「ISO-2022-JP」の"B" にエンコーディングします。
To | メールの送信先 |
---|---|
Cc | メールの送信先(カーボンコピー) |
Bcc | メールの送信先(ブラインドコピー) |
Reply-To | メールの返信先 |
From | メールの差出人 |
Subject | メールの件名 |
メール本文に日本語が含まれる場合は、「mb_convert_encoding」関数を使って「ISO-2022-JP」 にエンコーディングします。
PEAR Mail オブジェクトでは単純な内容のメールしか送信できません。実際にはMail_Mimeクラスなどのパッケージで拡張してメールを送信します。
$recipients = "guest@fugafuga.com, admin@hogehoge.com"; $headers = array( "To" => "guest@fugafuga.com", "From" => "admin@hogehoge.com", "Subject" => mb_encode_mimeheader("テストメール") ); $body = "メールのテストです。"; $body = mb_convert_encoding($body, "ISO-2022-JP", "auto"); $mail_object -> send($recipients, $headers, $body);
投稿日: