If you attach a file using either the file or the URL attach constructs, then each time you run the mail tag, it attaches another copy of the file, thus by the time you have run it several times, it attaches several copies of the file ot the email being sent out. I have fixed this along with adding two new features which I will also add; I think it was simply adding a line body=null into the doStartTag() method of the Mail tag which made this work.
Resolving. Taglib has been retired.