User:Clarkbw/Return Receipt
This page is a design scratch intended to fix the situation with return receipts. There is a disambiguation problem here as stated in bug 328341 where return receipts are considered to be many things. A technical return receipt is an SMTP extension that gives notification of deliver; this is not what most people think it is. An MDN is a return receipt that indicates the receiver has seen the message; of course the receiver is able to control sending of the receipt.
For Thunderbird's purposely we should be thinking of "Return Receipts" as MDNs and not have the separation which will confuse people. If there is still a desire for the actual return receipt its functionality should be moved into an extension.
Contents
Receiving a Return Receipt Request
Viewing Message with Return Receipt Request
+--------------------------------------------------------------------------------+ | $SENDER requests Return Receipt for this Message (( Send )) ( Ignore ) | | | | { Always send to $SENDER } { Never send return receipts to $SENDER } | +================================================================================+ {{ message }}
mockups
After a Return Receipt has been Sent
Nothing is shown in the short message headers after the receipt has been sent.
{{ short message headers }} Return Receipt: Sent $TIME $DATE { more details } {{ message body }}
However in the full message headers the return receipt message is shown at the end. If this sender was set to receive return receipts automatically then show this message.
+-----------------------------------------------------------------------------+ | {{ full message headers }} | | Return Receipt: Sent $TIME $DATE [ resend ] | | { Do not send $SENDER return receipts automatically } | +=============================================================================+ {{ message body }}
If this sender was not set to receive return receipts automatically then show this message.
+-----------------------------------------------------------------------------+ | {{ full message headers }} | | Return Receipt: Sent $TIME $DATE [ resend ] | | { Always send $SENDER return receipts automatically } | +=============================================================================+ {{ message body }}
old mockups
After Refusing to send a Return Receipt
Nothing is shown in the short message headers after the receipt has been refused.
{{ short message headers }} Return Receipt: Ignored $TIME $DATE { more details } {{ message body }}
However in the full message headers the return receipt message is shown at the end. If this sender was set to receive return receipts automatically then show this message.
+-----------------------------------------------------------------------------+ | {{ full message headers }} | | Return Receipt: Ignored $TIME $DATE [ send ] | | { Do not send $SENDER return receipts automatically } | +=============================================================================+ {{ message body }}
If this sender was not set to receive return receipts automatically then show this message.
+-----------------------------------------------------------------------------+ | {{ full message headers }} | | Return Receipt: Ignored $TIME $DATE [ send ] | | { Always send $SENDER return receipts automatically } | +=============================================================================+ {{ message body }}
I'm not sure if "Ignored" or "Refused" or "Not Sent" is the correct terminology here.
Failed to Send a return Receipt
When a return receipt fails to send (for network or other reasons) we display it back in the message like an original return receipt. We should probably use a variation of the original color to indicate a failure. The message should be marked as new so that the person sees it.
{{ message header }} +-----------------------------------------------------------------------------+ | +====+ Failed to send $SENDER a Return Receipt!! [ Resend ] [x] | | |****| | | +====+ { Always automatically send return receipts to $SENDER } | +=============================================================================+ {{ message body }}
If this receipt was automatically sent, but failed. It might be good to rethink this, allowing for an automatic resend on a timer that we display.
{{ message header }} +-----------------------------------------------------------------------------+ | +====+ Failed to send $SENDER a Return Receipt!! [ Resend ] [x] | | |****| | | +====+ { Never automatically send return receipts to $SENDER } | +=============================================================================+ {{ message body }}
Sending a Return Receipt Request
Writing a message with a return receipt requested
With out the always option turned on for the receiver.
{{ message header }} +-----------------------------------------------------------------------------+ | +====+ Request a Return Receipt for this Message [ Cancel ] | | |****| | | +====+ { Always require request return receipts from $RECEIVER } | +=============================================================================+ {{ message body }}
With the always option turned on for the receiver.
{{ message header }} +-----------------------------------------------------------------------------+ | +====+ Request a Return Receipt for this Message [ Cancel ] | | |****| | | +====+ { Stop requiring return receipts from $RECEIVER } | +=============================================================================+ {{ message body }}
old mockups
After canceling the request for a return receipt
{{ message header }} +-----------------------------------------------------------------------------+ | This message will *not* request a Return Receipt [ Undo ] [x] | +=============================================================================+ {{ message body }}
Receiving return receipts
- What does a return receipt look like to our user?
- How do we notify them of their arrival?
Implementation Details
Timestamps for send and ignore are important parts of the interactions. Currently the MDN reports are simple flags on the message.
MSG_FLAG_MDN_REPORT_NEEDED | 0x00400000 |
MSG_FLAG_MDN_REPORT_SENT | 0x00800000 |
MSG_FLAG_MDN_REPORT_REFUSED | suggested addition for recording that a person refused to send a receipt |
Relevant Links
- Return receipt (wikipedia
- New Return Receipt Handler Extension by Paolo Kaosmos
- X-Mozilla-Status explained
Relevant Bugs
bug 380399 — Return receipt status is only stored in .msf file and not in mbox file
Possible problem that still needs to be worked around, indicated in the NRRHE extension
bug 249684 — Return Receipt prompt should ask Yes/No, not OK/Canel
Good suggestions for improvements to button text. Used the 'Send' and 'Ignore' text suggestion from this bug.
bug 346205 — Return Receipts prefs shouldn't be under Composition
The pref is currently under Advanced -> General -> [Return Receipts...]
bug 221615 — View Before Return Receipt (Reciept)
Brings up good point that you should be able to wait to send a receipt and also see when a return receipt was sent
bug 378224 — Toolbar button: toggle return receipt
Our info bar on send should provide an excellent fix to this situation
bug 339233 — return receipt settings refer to "Sent" folder when they really mean the folder specified as the fcc folder
Possible bug with the placement of receipts according to where your sent messages are stored.
Recommend: Returned receipts shouldn't be messages at all really, but viewed almost as something stapled to the sent message. When you view the sent message you also see the receipts listed with the people, see bug 339307 listed below. That said we also need to have a story for notifying people as receipts come in.
bug 386158 — Sending receipt fails but no warning returns to user
Possible failure in our storyline if there is a failure sending the receipt message the user is never informed nor given a chance to resend.
bug 345205 — Return receipt control doesn't work as advertised
Seems to be a perception issue and we're doing the wrong thing. The pref says 'never 'send' If not in To: or CC: field, yet the report indicates that if you are in the received header it will ask anyway.
Further Improvement Bugs
bug 312425 — User should be able to choose folder where received return receipts would end
Currently the pref only allows for Inbox or Sent folders to be chosen, this bug wishes to extend those choices to any folder.
bug 339307 — Return receipts (MDN) status overview
Improvement for the overview of a message sent requiring a return receipt. There should be a nice opportunity to indicate each person in the receiver list who sent back a receipt.