A better handling of attachments

The prior method did not function very well with HTML emails which also have attachments in them. The Mailgun API allows for these, so I've adjusted to include them.
Well keeping in spirit with the `fail_silently` flag, it seems like you would want to wrap it all. Given that `fail_silently` is `False` by default, and that this try/except wrapper will just raise the exception in that case, I don't see it as much of a problem