技術メモ帳

PEARでメール送信

参考URL

1.PHPメール関係ライブラリ

メール関係ライブラリには、PEAR::Mail, PHPMailer などがある。

2.PEAR Mailパッケージのインストール(Windows, Ubuntu)

pear install  a Mail を実行する。

3.PEAR Mail_MIMEパッケージのインストール(Windows, Ubuntu)

pear install  a Mail_MIME を実行する。

メールにファイルを添付して送信したりHTMLメールを送信するなどマルチパートのメールを送信する場合にはMail_Mimeクラスを利用します。Mail_MimeクラスはMailに取って代わるものではなくマルチパートのメールのヘッダーと本文を作成するものです。作成したヘッダーと本文を使いMailクラスでメールを送信します。

4.PEAR::Mail()使用例

<?php
//Mail.phpをインクルードする。
require_once('Mail.php');

//内部言語、エンコーディングを必ず設定すること。
mb_language("japanese");
mb_internal_encoding("UTF-8");

//送信先アドレス
$recipients = 'sample@target.co.jp';
//ヘッダ
$headers['From']    = 'sample@source.co.jp';
$headers['To']      = 'sample@target.co.jp';
//件名は、MIMEエンコーディングする。
$headers['Subject'] = mb_encode_mimeheader('テストメール'); 
//送信メッセージ
$body = "日本語メールのテストです。";
//送信メッセージは ISO-2022-JPに変換すること。
$body = mb_convert_encoding($body, "ISO-2022-JP", "UTF-8");

//メールオブジェクトに渡すパラメータを配列で設定する。
//$params['sendmail_path'] = '/usr/lib/sendmail';
$params['host'] = 'mail.smt.co.jp';	            //SMTPサーバ
$params['port'] = 25;			                //SMTPポート
$params['auth'] = true;			                //送信サーバ認証処理を行う
$params['password'] = '*****';	                //SMTPサーバパスワード
$params['username'] = 'sample@source.co.jp';	//SMTPサーバユーザ名

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

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

5.Gmail SMTPサーバを使用してメール送信

<?php
//Gmail SMTPサーバでメール送信
//pear::Mail 使用。
//Gmailを使用する場合、tlsまたは、ssl暗号プロトコルを使用する必要がある。
//tls, sslプロトコルを使用する場合、php.iniの extension=php_openssl.dll を有効にすること。

//Mail.phpをインクルードする。
require_once('Mail.php');
//内部言語、エンコーディングを必ず設定すること。
mb_language("japanese");
mb_internal_encoding("UTF-8");

//送信先アドレス
$recipients = 'sample@target.co.jp';		//送信先

//ヘッダ
$headers['From']    = 'sample.source@gmail.com';
$headers['To']      = 'sample@target.co.jp';
$headers['Subject'] = mb_encode_mimeheader('Gmailテストメール');

//送信メッセージ
//送信メッセージは ISO-2022-JPに変換すること。
$body = "Gmailのテストです。";
$body = mb_convert_encoding($body, "ISO-2022-JP", "UTF-8");

//メールオブジェクトに渡すパラメータを配列で設定する。
//$params['sendmail_path'] = '/usr/lib/sendmail';
//GMail SMTPサーバ。sslまたは、tlsプロトコルにする。
//$params['host']   = 'ssl:             //smtp.gmail.com';  //sslでもOK
$params['host']     = 'tls:             //smtp.gmail.com'; //tlsプロトコル使用
$params['port']     = 465;		        //Gmail SMTPポート番号
$params['auth']     = true;		        //送信サーバ認証処理を行う
$params['password'] = '********';	    //Gmail パスワード
$params['username'] = 'sample.source';	//Gmail ユーザID
$params['debug']    = false;

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

if($mail_object->send($recipients, $headers, $body) == true) {
	echo "\nok\n";
}
else {
	echo "\nerror\n";
}
?>

inserted by FC2 system inserted by FC2 system