【PHPMailer】メール送信の際の文字エンコードについて

PHPMailerを利用したメール送信について調べていたときに、
文字エンコードの指定を「ISO-2022-JP」にしているパターンと「UTF-8」にしているパターンの2種類を見かけました。

 $mail = new PHPMailer(true);

 // ISO-2022-JPを使うパターン 
 $mail->CharSet = "iso-2022-jp";
 $mail->Encoding = "7bit";
 
 // UTF-8を使うパターン
 $mail->CharSet = "UTF-8";


調べてみると、歴史的な理由から日本では「ISO-2022-JP」が使われてきたのですが、 現在は有名どころ含めメーラが「UTF-8」に対応してきているとのことです。

基本的に「UTF-8」を指定し、古いメーラに対応しなければいけない場合は「ISO-2022-JP」を指定するのが よさそうです。

参考

日本語メールの仕組み | SendGridブログ
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版