PEAR:Mailを使ってPHPでメールを送信するプログラムを作成します。
<?php
//PEARディレクトリにパスを通してある場合
require_once("Mail.php");
require_once("Mail/mime.php");
//PEARディレクトリにパスを通していない場合
//require_once("C:/php/PEAR/Mail.php");
//require_once("C:/php/PEAR/Mail/mime.php");
$params = array(
"host" => "mail.ixx.jp",
"port" => 25,
"auth" => false
);
$mailObject = Mail::factory("smtp", $params);
$recipients = "internal@intra.ipentec.com";
$header = array(
"To" => "internal@intra.ipentec.com",
"From" => "websystem@robot.ipentec.com",
"Subject" => "Auto Mail from WebSystem"
);
$body = "Test Mail";
$mailObject -> send($recipients, $header, $body);
?>
require_once関数を用いて Mail.php Mail/mime.phpを読み込みます。
factoryメソッドの第一引数はバックエンド名です。バックエンドは以下の値をとります。
PHP の組込関数である mail()関数を利用します。 | |
sendmail | sendmail プログラムを利用します。 |
smtp | SMTP サーバに接続してメールを送信します。 |
mail() 関数の5番目の引数(additional_parameters)を設定します。
sendmail_path | sendmailへのパス(デフォルトは「/usr/bin/sendmail」) |
sendmail_args | sendmailへ渡すパラメータ |
host | SMTPサーバ名(デフォルト[localhost]) |
port | ポート番号(デフォルト[25]) |
auth | SMTP 認証の使用(デフォルトは[false]) |
username | SMTP 認証のユーザ名 |
password | SMTP 認証のパスワード |
localhost | EHLO,HELOの送信に使用する値(デフォルト[localhost]) |
timeout | SMTP 接続のタイムアウト(デフォルト[NULL](タイムアウトしない)) |
verp | VERP の使用(デフォルト[false]) |
debug | SMTP デバッグモードの使用(デフォルト[false]) |
persist | SMTP接続を、send()メソッドの複数回呼出しで持続させるかどうかを指定 |
にてメールヘッダを作成します。今回はTo,From,Subjectのヘッダを用意しました。
PHPのファイルにウェブブラウザでアクセスすると $recipients に指定したメールアドレスに対してメールが送信されます。
PEAR::Mailのモジュールのインストールはこちらの記事を参照してください。