I've got an application consisting of a number of web servers that use JavaMail to send outgoing mail via the gmail smtp server.
I'd like to have some centralized monitoring and control over the sending of mail so it seems likely that I'd want to introduce a local mail server through which all outbound mail from the web servers would be sent. I'd like (I think) to be able to query the newly introduced local mail server from the client (one of the web servers) to retrieve per-message sending status, and to make this useful the local mail server would ideally need some context information, provided when the mail is queued for sending, that links back to something meaningful on the web server (i.e. a transaction id).
The mail server would have a tool for the support team to view messages queued for sending, sent, and not delivered, with some decent search functionality and high level statistics.
Can anyone comment on if this seems a reasonable strategy and if there's any mail server products that might meet these requirements without too much customization? I stumbled upon Apache James but the documentation I've come across is at the API level and I've not seen any evidence of any GUI monitoring tools.