phpmailerを使用して月間レポートを送信しています。phpmailerに添付ファイルのエンコーディングを設定する
ユーロ記号が含まれています。したがって、私はutf-8にエンコーディングを設定する必要があります。 ここで問題が発生しました。
$mail->addStringAttachment($csvstring, $fileName);
メールが送信されますが、私はエンコーディングを追加しようとすると、添付ファイルに€記号が
まで表示されません:
$mail->addStringAttachment($csvstring, $fileName, "utf-8", "text/csv");
このようなエンコードせずに
メールは送信されますが、本文と添付ファイルは存在しません。 私はそれを見つけようとしましたが、ほとんどドキュメントがないようです。
明白なことはありませんか?
ちょうどソースを閲覧し、私は言う必要があります。PHPmailerは本当に扱いにくいと思われ、スイッチを検討するかもしれません。しかし、 'https:// github.com/PHPMailer/PHPMailer/blob/master/src/PHPMailer.php#L62'の3番目のパラメータが期待されるので、" utf-8 "は期待されません。 4番目のパラメータとして '' text/html; charset = utf-8 "'を試してみてください。ちょうど実験中のビット。私は、PHPMailerが他に何も役立たない場合、どのように動作するかをリバースエンジニアリングすると思います。 –
「ドキュメンテーション」見出しの下に隠されている、プロジェクトのホームページからリンクされた膨大な文書があります。 [addStringAttachmentのドキュメント](http://phpmailer.github。io/PHPMailer/classes/PHPMailer.PHPMailer.PHPMailer.html#method_addStringAttachment)は、添付ファイルを追加するときにcontent-tansfer-encodingを指定する方法を明確にしています。これは他のライブラリとほぼ同じです。同じもの。 – Synchro
誰もが毎日PHPMailerを使っているわけではありません...だから、私の鼻が噛まれないようにしたいと思います。それでも助けてくれてありがとうございます。 –