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/
有難うございます!!
