-
- $mail->AddAttachment($attach, $attach);
-
コードをコピー
指定しない場合、送信される添付ファイル名は文字化けします。
-
- $mail->AddAttachment($attach, $attach);
-
コードをコピー
送信したファイル名の中国語が消えて「.txt」になります。
解決策 1
class.phpmailer.php を開き、1007 行目あたりの関数 AddAttachment に次の文があります。
-
- //$filename =basename($path);
- if (false === strpos($path, '/'))
- $filename = $this->EncodeHeader($path);
- else
- $filename = $this->EncodeHeader(substr($path, strrpos($path, '/') + 1));
コードをコピー
解決策 2
ファイル名を中国語に設定する場合は、AddAttachment を呼び出すときに中国語名パラメーター (2 番目のパラメーター) を指定します。
例えば
-
- $mail->AddAttachment('temp/2011/test.rar', 'test.rar');
コードをコピー
その他の問題: 中国語のメールを送信すると、中国語が文字化けして表示されますコード
文字化けは、おそらくメールのタイトルがいくつかの小さなものに変換されるときに発生します =?utf-8?B?...?=、および中国語が誤って切り捨てられる可能性があります 行 1185 を変更します。
-
- $maxlen = 75 - 7 - strlen($this->CharSet);
-
コードをコピー
して、次のように変更します。
-
- $maxlen = 75000 - 7 - strlen($this->CharSet);
コードをコピー
添付、PHPMailerメール送信クラスV5.1ダウンロードアドレス。
|