1) True, attachments are not supported.
2) If you are worried about losing mails you should avoid SMTP and go for IMAP. All methods involving SMTP will not give an error if the mail cannot be sent.
3) I think UTL_SMTP requires the same amount of code as any other method I've used (JavaMail, ASPMail etc.) If you are looking for something with less code I think you're going to struggle. Check out my example of using UTL_SMTP:
http://www.oracle-base.com/articles/9i/ ... LSQL9i.php
Perhaps you should look into using JavaMail since this can be run from within the database or from your application server provided it's Java compliant: