phpmailerの使い方サンプル


phpmailerはPHPプログラムからSMTPメールサーバー経由でメールを送信したい時に使えるPHPライブラリです。

https://github.com/Synchro/PHPMailer

PHPのアプリからメールを送信したい時は、いつもこのライブラリを使っています。

特徴

・WordpressやDrupalなどメージャーなオープンソースにも採用されている。
・ローカルではなく外部のSMTPサーバー経由でメール送信ができる。
・複数の宛先(To)、複数のカーボンコピー(Cc)、複数のブランク・カーボンコピー(Bcc)に送信することも想定したクラスライブラリになっている。
・AUTH-LOGIN、AUTH PLAIN、AUTH CRAM-MD5、SSL認証、TLS認証といった様々なSMTP認証方式に対応している。

コードサンプル

以前のバージョンでは
require_once(‘class.phpmailer.php’);
でライブラリをインクルードしていたのですが、最近のバージョンでは
require ‘PHPMailerAutoload.php';
でよくなったようです。

私が使ったことのある「さくらのメール」と「Gmail」の場合での違いが分かるようにコメントなどをつけたサンプル。

<?php
require_once('class.phpmailer.php');
require_once('class.smtp.php');

/* SMTP接続 */
define('MAIL_HOST','example.sakura.ne.jp:587');  // さくらのメールの場合
//define('MAIL_HOST','smtp.gmail.com:465'); // Gmailの場合
define('MAIL_USERNAME','user@example.com');
define('MAIL_PASSWORD','xxxxxxxxxxx');
define('MAIL_FROM','user@example.com');
define('MAIL_CHARSET','iso-2022-jp');
define('MAIL_ENCODING','7bit');
define('MAIL_PHP_LANGUAGE','japanese');
define('MAIL_PHP_INTERNAL_ENCODING','UTF-8');
define('MAIL_FROM_NAME','送信元の表示名');

mb_language(MAIL_PHP_LANGUAGE);
mb_internal_encoding(MAIL_PHP_INTERNAL_ENCODING);
$mail = new PHPMailer();
$mail->CharSet = MAIL_CHARSET;
$mail->Encoding = MAIL_ENCODING;

//SMTP接続
$mail->IsSMTP();
$mail->SMTPAuth = TRUE;
//$mail->SMTPSecure = 'ssl';  // Gmailの場合はこれが必要!
$mail->Host = MAIL_HOST;  //メールサーバー
$mail->Username = MAIL_USERNAME; //アカウント名
$mail->Password = TMMAIL_PASSWORD; //アカウントのパスワード
$mail->From = MAIL_FROM; //差出人(From)をセット
$mail->FromName = mb_encode_mimeheader(MAIL_FROM_NAME); //差出人の名前

$mail->ClearAddresses();  // 宛先アドレスを前に指定した場合はクリア
$mail->AddAddress(‘to1@sample.com’); //宛先アドレス1。
$mail->AddAddress(‘to2@sample.com’); //宛先アドレス2。


$mail->ClearCCs();  //CCアドレスを前に指定した場合はクリア
$mail->AddCC(‘cc1@sample.com’); //CCアドレス1。
$mail->AddCC(‘cc2@sample.com’); //CCアドレス2。

$mail->ClearBCCs();  //BCCアドレスを前に指定した場合はクリア
$mail->AddBcc(‘bcc1@sample.com’); //Bccアドレス1。
$mail->AddBcc(‘bcc2@sample.com’); //Bccアドレス2。

$mail->Subject = mb_encode_mimeheader('タイトル');  //メールサブジェクトの指定
// 本文を指定
$mail->Body  = mb_convert_encoding('本文’, 'JIS', TMMAIL_PHP_INTERNAL_ENCODING);
// 送信
$mail->Send();

?>

タグ:
カテゴリー: PHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

カテゴリー