PEAR:Mailで日本語メール送信

結構面倒くさかったので忘れないように記述しておく。

  mb_internal_encoding("UTF-8");
  //接続情報など
  $param = getMailConfig();
  $mailObject = Mail::factory("smtp", $param);
  
  //to,fromにも日本語名称を設定する場合は
  //「mb_encode_mimeheader」を設定
  $headers = array(
    "To" => "to@xxx.jp",
    "From" => "from@xxx.jp",
    "Subject" => mb_encode_mimeheader("日本語件名", "ISO-2022-JP"),
    "Content-Type" => "text/plain; charset=ISO-2022-JP",
    "Content-Transfer-Encoding" => "7bit",
    "MIME-Version" => "1.0",
  );
  
  //本文を取得
  $text = getMail();
  $body = mb_convert_encoding($text, "ISO-2022-JP", "auto");
  
  $mailObject -> send($recipients, $headers, $body);

なんかwebでサンプル探してもheaderとかあまり設定してなかったり「mb_encode_mimeheader」を使用しててもデフォルト任せで指定していないのばかりなんだけど問題ないのかなぁ?

一応、検証してメーラーとかとヘッダの差異がないこと確認したけど設定しない理由とかあるのだろうか???