これは、エンコードの問題である可能性があります。
メールとして送信する部分がいくつかあります。
例えば:
体の部分:
"Content-Type: text/html; charset="iso-8859-1"
"Content-Transfer-Encoding: 7bit"
...
添付部分 (例: jpeg 画像):
"Content-Type: image/jpg; name="attachment_1.jpg"
"Content-Transfer-Encoding: base64"
"Content-disposition: attachment; file="attachment_1.jpg"
chunk_split(base64_encode($file)) // PHP function to base64 encode the file
...
そこにはたくさんのチュートリアルがあります。それらをグーグルして、あなたの経験レベルに合ったものを選んでください.
さらに、PHP のネイティブ mail の代わりにSwiftMailerのようなものの使用を開始することをお勧めします。これは、mail() で送信されたメールが、GMail などの最も一般的なメール プロバイダーのスパム フォルダーに配置されるためです。メーラー クラスは、より広範な量も提供します。特に調整のための調整可能な機能の。
こちらのドキュメントをご覧ください:
http://swiftmailer.org/docs/messages.html#attaching-files
StackOverflow に関するこの特定の回答も確認してください:
https://stackoverflow.com/a/4671714/2493918
幸運を!