Questa soluzione è totalmente inefficace perchè la maggior parte dei client NON ha il download delle immagini abilitato di default.
Per inviare le immagini all'interno dell'email (le cosidette immagini embedded) è necessario utilizzare del codice specifico, ma IMHO è del tutto illogico riscriverlo a mano se esistono delle classi già pronte.
Per quanto riguarda l'affermazione "E troppo complessa", dipende dai punti di vista. Il tuo codice contiene 36 righe che con phpmailer si possono riscrivere in una decina, molto più pulite, ordinate e "scalabili".