2012年1月17日火曜日

PHP で Gmail からメールを送る

そんなわけで、PHPからメールを送ってみます。
方法論は沢山あるのだけれど、
PEARはめんどくせーなぁと思っていて調べたら、

PHPで日本語メールを送る – 応用編 (添付ファイル、HTMLメール)

こういう良い記事を見つけました。
で、 これを参考に、PHPから自分のGmailのアカウントを使って、
誰かにメールを送るプログラムです。

というわけで、PHPMailer をダウンロードしましょう。

require("class.phpmailer.php");
mb_language("japanese");
mb_internal_encoding("UTF-8");

// 添付ファイル このPHPと同じ階層にある myDir の中の test.jpg
$file   = "myDir/test.jpg";
$mailer = new PHPMailer();
$mailer->IsSMTP();
try{
    $mailer->SMTPAuth   = true;
    $mailer->SMTPSecure = "tls";
    $mailer->Host       = "smtp.gmail.com";
    $mailer->Port       = 587;
    $mailer->Username   = "usr@gmail.com";
    $mailer->Password   = "gmailPassword";
    $mailer->Subject    = "メールタイトルだー";
    $mailer->Body       = "メール本文だよー";
    $mailer->AddAddress("test@example.jp","誰彼様");
    $mailer->AddCC("cc@example.com","彼誰様");
    $mailer->SetFrom("usr@gmail.com","俺様");
    $mailer->AddAttachment($file);
    $mailer->Send();
}catch(phpmailerException $e){
    echo $e->errorMessage();
}catch(Exception $e){
    echo $e->getMessage();
}

こんな感じですね。
別に難しくもなんともないです。
mime_header とかほんとはやったほうがいいと思うんだけど、
やったらやったで文字化けしたりすることもあるみたいで、難儀な感じです。
そこらへんのやり方は、一旦参考にしたページを元に書いたほうがいいと思います。

1 件のコメント:

  1. わかりにくいコード載せやがって
    日本語文字化けするし
    なにが try catch だよ

    返信削除