Ein ähnliches Anhang-Problem hatte ich auch bei Indy10 im Zusammenhang mit dem Senden über SSL/TLS.
Ein Attachment ging raus, sobald aber mehrere Files darin versendet wurden landete alles im Body.
Auch ich hatte <<IdMessage.contentType='text/plain'>> eingestellt.
Abhilfe brachte nur der Wechsel auf <<IdMessage.ContentType := 'multipart/alternative'>>.
Für jeden Anhang dies (
Indy 10):
TIdAttachmentFile.Create(IdMessage.MessageParts,iF ile);
wobei IdMessage natürlich immer die selbe Message meint und iFile der Dateiname mit Pfad des existierenden Anhangs ist.
Der Contenttype der gesamten Message wird automatisch richtig gesetzt, egal aus welchen Teilen die Message(Mail) besteht.