The long and short of it is unfortunately not all of this is possible without some coding to help it along. The problem you're going to hit is the automatic report generation. What you're looking at here is a workflow with some custom workflow activity (c# code) to help it along. I haven't ever needed to do this, but this is an idea of what you need to do:
- Create a new Workflow Process based on a Quote
- Set it as an on demand process
- The Workflow will create a new email based on the quote details
- Launch and attach the report to the email and send it
Point 4 needs to execute as a custom workflow activity (some C# code) that knows what report to run (or is told what report to run) and how to attach it to the email. And it then can send the email for you.
Now, that's all fine if you're working with CRM on-premise, but I have as of yet to see if custom workflow activities are support in CrmOnline. If not you'll need to use a custom entity and some plugins to work around this instead.
So, it's possible, but not without some development to help it along. You need to take a look at workflows to see how much they can help you though.