Sorry, it looks like some of my comment got swallowed by GitHub. Let me try again.

From the perspective of a user of this API, creating a List of `InternetAddress` objects seems like a bit of a pain. Could it be a list of `String` objects instead and then then `String`->`InternetAddress` conversion happens inside the service? Or is the idea that you don't want to deal with the `AddressException` which can be thrown?

Another thing which occurs to me is that the API would more usable as

    boolean sendEmail(String templatePath, Map<String,String> emailParams, InternetAddress... recipients);

or

    boolean sendEmail(String templatePath, Map<String,String> emailParams, String... recipients);

This would save clients from having to create the List object when sending to a single address.