Hab inzwischen selbst eine Lösung gefunden. Ich schreibe die gesamte Message einfach vor dem Senden in einem Memory-Stream. Von dem kann ich dann die Größe auslesen und als Maximum dem Progressbar zuweisen. Die Position setze ich dann im OnWork-Ereignis der TIdSMTP-Komponente. So habe ich jetzt wenigstens eine Gesamtfortschritt beim Encodieren
PS: Der Flaschenhals liegt glaube übrigens nicht in TIdEncoderQuotedPrintable.Encode, dort kommt er bei mir nur bei den Text-Parts der Message durch und das geht ziemlich schnell. Die Anhänge scheinen woanders codiert zu werden.
Gruß
Micha
Der Weg ist das Ziel...