I'm in the process of writing a mail server stack and it's a fairly critical design decision as to whether a unique message can appear in more than one message box. Simple cases are easy to make a decision on (e.g. a message obviously cannot exist in the "Inbox" and the "Trash" mailbox) but a more subtle situation like being in the "Work" mailbox and the "Trash" mailbox is a little trickier.
So:
- Is it easier to assume clients won't notice if a unique message appears in more than one mailbox, and throw a hissy fit.
- Or use tagging and only have the message exist in the major mailboxes and use tagging to identify other attributes. In clients that don't support tags (quite a lot), fake the message's uniqueness (not difficult on server end) and display the tags as if they we're their own mailbox
- Or is it cardinal sin to have a message in multiple mailboxes in the first place.
I'm specifically looking for the broadest possible client friendly solution as I'm making a client independent server.
Unique message = Unique Identifier on the server (alpha numeric usually), all other headers and body components could by freak coincidence, or by hitting send twice in quick succession be duplicated.
If I was to fake the Identifier it would only be to face the client, it would be linked back to the original again on the server for any edits.
Edited for clarity