Junk characters in mailx output

I have script which send a mail with top output. The script look like
$ cat health.sh
#!/bin/sh
maillist="email address"
rm /home/rtq1/file
top -n 1 | head 15 > file
cat file | mailx -s "Daily Health Report from `hostname` ..." "${maillist}"
But now i am getting some junk characters along with the output in mail. If I open file in vi, it is showing with junk characters

^[[H^[[2J^[[m^[(Btop - 02:27:57 up 24 days, 3:16, 1 user, load average: 0.31, 0.33, 0.28^[[m^[(B^[[39;49m^[[K
Tasks:^[[m^[(B^[[39;49m^[[m^[(B 142 ^[[m^[(B^[[39;49mtotal,^[[m^[(B^[[39;49m^[[m^[(B 1 ^[[m^[(B^[[39;49mrunning,^[[m^[(B^[[39;49m^[[m^[(B 139 ^[[m^[(B^[[39;49msleeping,^[[m^[(B^[[39;49m^[[m^[(B 2 ^[[m^[(B^[[39;49mstopped,^[[m^[(B^[[39;49m^[[m^[(B 0 ^[[m^[(B^[[39;49mzombie^[[m^[(B^[[39;49m^[[K

I have tried this also
top -n 1 | mailx -s "Daily Health Report - `hostname` ..." "${maillist}"

But no luck

Please help me to sort out this

Regards,
Renjesh Raju

You have had 12 reminders and / or infractions, and still you can't use simple code tags.