Не очень хорошо размещать большой пакет кода и просить его проанализировать.; -)
Обычно: попробуйте записать поток данных, который вы хотите отправить, в файл, а затем проанализировать его - вручную или с помощью какого-либо почтового инструмента (это может быть даже почтовый клиент, выдающий предупреждения).Попробуйте вручную создать действительное письмо с несколькими вложениями, а затем попытайтесь воспроизвести формат с вашим кодом.
В вашем случае: я вижу проблему, которая напрямую не связана с «проблемой с несколькими файлами», а является проблемойо типе контента (поэтому я пишу не комментарий, а ответ): charset iso-8859-1 не следует использовать с " 7bit ", но с "8bit" иликодировка "для печати в кавычках".
EDIT1: исправить плохой английский.
EDIT2: прочитать ваш код еще раз.Я не вижу \ r для окончаний строки CRLF.