scusa non avevo letto bene è che sono un pò stanco in questo periodo...cmq

per allegare un file alla mail, il file ce lo devi avere a disposizione. Bene. Ora non conoscendo la classe phpmailer non so dirti se accetta un file binario nell'addattachment+mime type o se puoi solo passare una path. Mi spiego: all'upload tu carichi un file che php si salva in una cartella dandogli un nome tutto suo, giusto? Le cose sono queste:

1) provi ad allegare direttamente il file temporaneo e ti risparmi il move_uploaded

2) fai come fai ora, ovvero ti sposti il file nella cartella che ti pare lo alleghi e poi lo cancelli

3) sostanzialmente uguale al punto 1: se esiste il metodo, leggi il contenuto del file e lo alleghi alla mail specificando il mime (questo nel caso che per qualche motivo non ti allegasse direttamente il file e che phpmailer abbia il metodo apposito, vedi sulla documentazione)