Me parece que el problema está en esta línea.
Código PHP:
$mensaje = str_replace("\\\\","\",$mensaje);
Fijate como colorea el código, como si hubiera unas comillas abiertas... que parece ser precisamente lo que está pasando. Al hacer \", estás escapando las comillas, o sea que no se cierran. Probá con:
Código PHP:
$mensaje = str_replace("\\\\","\"",$mensaje);
o tal vez con
Código PHP:
$mensaje = str_replace("\\\\","\\",$mensaje);
Al menos ahora no da error. (El anterior decía "unexpectede simbol @" o algo por el estilo). En fin, habría que ver qué es lo que hay que reemplazar concretamente, pero la anterior versión dejaba las comillas abiertas.
Suerte