I understand that non repudiation intends to provide a mechanism that reliably proves that the sender of a message cannot deny sending the message. But does it also provide similar mechanisms to ensure the recipient of the message cannot deny receiving it.
Non-repudiation binds the sender, not the recipient. I could, for example, digitally sign a message intended for you. I wouldn't be able to deny composing the message, but suppose I never sent it? You'd never get it, even though it was digitally signed.
I can't think of any mechanism not requiring the cooperation of the recipient that proves receipt of a message. (There's the email return receipt, but a recipient can disable that.)
Non-repudiation doesn’t just involve sending messages. It can also mean proving a user performed an action. Let's say a recipient receives bitcoins from a sender, but moves the bitcoins to a remote location. He then says that he did not receive them and asks the sender to send them again. Non-repudiation will be able to prove that he moved the bitcoins (via technologies like logging). Hence non-repudiation, in a way, prevents the recipient from denying he received the message.