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"; } ?>