PHPでHTMLメールを送信する サンプルコードあり
PHPでメールを送信するには、mb_send_mailとか便利な関数がありますが、HTMLメールを送りたい!という時には、若干面倒です。
そこに、HTMLのメールや、添付ファイル有りのメールもさくっと送信できる、PHPMailerという便利なライブラリがありましたので、紹介します。
下記のGithubから、PHPMailerをダウンロードします。
https://github.com/PHPMailer/PHPMailer
Githubをインストールしていない場合は、右下あたりのDownload Zipをクリックします。
解凍して、class.phpmailer.phpが必要なので、読み込みましょう。
皆さんの環境に合わせて、読み込みの場所を変更してくださいね。
require("PHPMailer/class.phpmailer.php");
そのあと、次のように書きます。
<?php //言語設定、内部エンコーディングを指定する require("PHPMailer/class.phpmailer.php"); mb_language("japanese"); mb_internal_encoding("UTF-8"); $to = "hoge@onlineconsultant.jp"; //宛先 $subject = "メールのタイトル"; //題名 $user_name = "勇者hogehoge"; //HTMLメールの中で使うユーザーの名前 $body_html = <<<EOD <div align="center" style="background-color: #fdf7e7; background-repeat: repeat-x; color: #996600; text-align:center;"> <img src="http://hogehoge.net/images/logo-mini.png" width="320" height="87" alt="ロゴだよん" > <p>$user_name様</p> <h1 style="font-size:larger; font-size:30px;font-weight:bold;color:#996600;">死んでしまうとはなにごとだ</h1> <p style="color:#996600;">もう一度がんばってね</p> </div> <hr> </div> EOD; $fromname = '王様'; //メールの送信者名 $from = 'king@onlineconsultant.jp'; //メールのFromアドレス $mail = new PHPMailer(); $mail->CharSet = "iso-2022-jp"; $mail->Encoding = "7bit"; $mail->AddAddress($to); $mail->AddBCC('secret@onlineconsultant.jp', 'Admin'); //BCCがつけれます $mail->From = $from; $mail->FromName = mb_encode_mimeheader(mb_convert_encoding($fromname,"JIS","UTF-8")); $mail->Subject = mb_encode_mimeheader(mb_convert_encoding($subject,"JIS","UTF-8")); $mail->Body = mb_convert_encoding($body_html,"JIS","UTF-8"); //HTMLメールが受信できない場合 $message_content = "おお勇者よ HTMLメールが受信できないとは情けない"; $mail->AltBody = mb_convert_encoding($message_content,"JIS","UTF-8");; if (!$mail->Send()){ echo("メールが送信できませんでした。エラー:".$mail->ErrorInfo); } } ?>
ところで、PHPMailerの本家サイトは下記ですが
http://phpmailer.worxware.com/
どうやらAndy Prevostという方が糖尿病になってしまって 大変なので、寄付をしてくれ!ということが書いてあります。
Andy Prevostさんは、PHPMailerのもともとの作者なのでしょうか?
いくつかオープンソースの人気プロジェクトを手掛けたと書いてありますが…。
現在はMarcus BointonさんがPHPMailerを作っているようです。
https://github.com/Synchro
ぜひ、みなさん寄付をしてあげてください。
なお、下記のサイトさんも参考にさせて頂きました。
http://plus.vc/web/4271/
有難うございます!!