TransmitMail
TransmitMail copied to clipboard
異字体漢字の送信時の文字化けについて
いつも利用させていただき助かっております。
デフォルト設定で、異字体漢字(髙 㤅)を含んだ内容を送信時、送信メールの異字体漢字箇所が(?)になってしましますが、TransmitMailの設定等で解決できるのでしょうか?
お忙しいところ恐れ入りますが、アドバンス等を頂けると幸いです。
■環境 ・PHPバージョン: 5.5.38 ・TransmitMailバージョン: 2.1.0 (githubからDLしたサンプルファイルをデフォルト設定のままテスト) ・お名前.com共用サーバー
■試したこと ・configでlanguage:uniに設定。 ・configでcharset:ISO-2022-JPに設定。 ・複数のメーラーで受信確認。
@hloco 様
TransmitMailで利用しているQdmailライブラリの関係のような気がします。Qdmailが対応していなければ、対応は簡単ではないかもしれません...。(Qdmail自体は結構前に開発が止まっているので...。)
少し詳しく調べてみますね。
@dounokouno 様 早速のお返事ありがとうございます! テスト時にQdmailのソースも確認していたのですが、よく分からなかったので質問させていただきました。。
お手数をおかけしますがよろしくお願い致します。
@eexxppoo 様
ご報告いただいた症状が再現することを確認しました。
やはり Qdmail の問題のようで、 Qdmail の配布元サイトに対応方法が紹介されていました。
http://hal456.net/qdmail/charset2
lib/TransmitMail.php を修正される場合は、 1062 行目を下記のように修正いただければと思います。
$this->mail = new Qdmail('UTF-8', 'base64');
https://github.com/dounokouno/TransmitMail/blob/master/lib/TransmitMail.php#L1062
http://hal456.net/qdmail/charset2 を読むと、「SMTPサーバー対応」は「すべて大丈夫」とのことですので、 TransmitMail の master にこの修正を取り込んで良い気もしていますが、 メーラー側の対応状況のことを考えると、ちょっと判断に迷っています...。(「auの古い携帯では未対応らしい」とのことなので、最近のメーラーはまず問題ない気がしますが、影響範囲が見えないので、ちょっと躊躇しています...。)
参考: http://hal456.net/qdmail/irregular_char
@dounokouno 様
ご検証ありがとうございます! 頂きました内容で、文字化けが解消しました! メーラーの対応状況に関しましては、別途検証したいと思います。
異字体とは何かというところから調べて、TransmitMailのソース等を検証していたのですが、 私だけでは確実に行き詰まっておりました。。
お忙しいところ、ご丁寧に対応していただきありがとうございました!
参考情報
softbankのキャリアメール( @softbank.ne.jp )の場合、この issue でご紹介した方法ではもしかすると文字化けするかもしれません。
件名は ISO-2022-JP を、本文は Base64 を指定する場合は文字化けしないようです。
https://qiita.com/sei_0419/items/981cce652bccbbae2a57
@dounokouno
参考情報ありがとうございます! 問題発生時はこちらも合わせて検証させていただきたいと思います。