Вложения сделаны в многочастном формате электронной почты.Вам лучше использовать библиотеку, чтобы сделать это.Но если вы хотите управлять им самостоятельно, вам нужно создать документ, разделенный несколькими частями, который содержит файлы в кодировке base64:
Во-первых, заголовки сообщений электронной почты:
To: admin@example.com
Subject: hi, admin!
Content-Type: multipart/alternative; boundary="some_random_string"
Чем тело:
This is a multi-part message in MIME format.
some_random_string
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<p>Email text and image</p>
<img src="cid:attached_image">
some_random_string
Content-Type: image/png;name="some.png"
Content-Transfer-Encoding: base64
Content-ID: <attached_image> //<- this used in CID
Content-Disposition: inline; filename="some.png"
//here goes base64 encoded image.
В php.net есть несколько примеров функций.Смотрите здесь в комментариях.