There's no report that will show you such data, the closes you can get is the Email activity report, but that's only for user mailboxes and it doesnt include shared ones. So, you will have to craft your own by crawling the message trace logs, or use a third-party product that automates this.
The first 2 of your requirements are a general one, and you shall check for numerous pre-built script available on the internet already.
Your 3rd requirement is not a very general requirement and I believe you have more specific requirement like this. So I strongly recommend you to explore 'Get-MessageTrace' and start crafting your code.