[eluser]smilie[/eluser]
Well, basically you have couple of options;
as you already mentioned:
1) to place sendmail() in 5 places;
2) to create own library.
But you could also:
3) extend CI email class with your own;
4) create helper which will handle things for you.
Concretely I have used an e-mail helper; simply create helper which will accept different params, processed them and at the end send e-mail. Then in the 5 places in your code just call helper with the params.
I generally prefer to create / extend libraries when there is substantial code change (or new code). In my case I am working with e-mail templates, which is the reason I created email helper. E-mail template parser is library on it's own, but helper simply takes params such as template ID, receiver, subject, body and optional attachments. Then it runs it through template parser (catching possible errors) and then it calls default CI email class to send the mail.
Hope this helps a bit.
Cheers,
Smilie