La primer pregunta obvia sería: ¿por qué usas mail() y PHPMailer al mismo tiempo?
En dado caso sólo debes usar PHPMailer, pues mail() está de más.
Otra cosa: ¿qué haces para depurar un posible error?
Es decir, no creo que sea un problema de código PHP, sintaxis o algo parecido, es más un tema de cómo estás usando dicha librería.
A propósito, ¿ya leíste el manual de PHPMailer para entender cómo se utiliza?
El tema es que ni leyendo tu código nos es posible adivinar si algo anda mal, te toca depurar e investigar por algún posible mensaje de error, etc.
Adivinos no somos.