PHPMailer で GMail 送信

仕事の関係でPHPからメール送信を行う必要があったので、PHPのクラスを幾つか試してみた。QdMail と Qdsmtp が日本語の環境ではお勧めの感じだったけど、2008年10月22日の1.2.6bでメンテナンスが終了しており、職場のメールサーバーとも相性が悪いようだったので、PHPMailer 5.2.8 (2014年3月14日更新)を使わせて頂くことにした。
PHPMailer は、GitHubで公開されている。ドキュメントも整備されていて、今回のGMailサーバーを使ったソースもサンプルが提供されていた。ネット上でも日本語のメールが送信できるようにJIS(iso2022-jp)化した例が多数見られた。しかし・・・。本当にJIS化する必要ってあるのか?確かに古いメールクライアントではJIS化されていないメールが読めないものもあるけど・・・。UTF-8でいんでない?と、言うことで PHPMailer を最低限UTF-8対応だけして使えるか試して見ました。
<?php
require_once('PHPMailer/PHPMailerAutoload.php');
function gmail($subject, $body, $to) {
    $from = 'YourName@gmail.com';
    $pass = 'YourPassword';
    $mail = new PHPMailer();
    $mail->isSMTP();
    $mail->CharSet = 'utf-8';
    $mail->Host = 'smtp.gmail.com';
    $mail->Port = 587;
    $mail->SMTPSecure = 'tls';
    $mail->SMTPAuth = true;
    $mail->Username = $from;
    $mail->Password = $pass;
    $mail->setFrom($from);
    $mail->addReplyTo($from);
    $mail->addAddress($to);
    $mail->Subject = $subject;
    $mail->Body = $body;
    return $mail->send();
}
?>
GMailのパスワードはアプリケーションパスワードだっけ?で事前に取得しておく必要があります。Subject:の部分も自動的にUTF-8で変換されていました。今のところ、問題無く運用出来ているのでしばらく使ってみます。

コメントを残す

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.