We did this sort of thing with Safecracker and a post-submit template.
If you create a template with PHP enabled, you can set your redirect URL in your Safecracker form to be that template. You can include the new entry's ID in the segment variables. (Not sure if we used an add-on for that or it's built-in.)
That PHP template, set to run on output, can grab the new entry with exp:channel:entries
. You can then run PHP against that data. You can send it by email, send a confirmation email, post it to APIs, etc.
In that PHP template, you do a PHP redirect (header('Location: /thank-you-page'); exit;
) to the page you want the user to see - The page you would have otherwise used as your redirect URL.
In that "processor" template, it's possible to accomplish this with EE tags, using add-ons to send the email. It doesn't matter what you do in that template. The idea is that you enable a "processor" template to run post-submit, and redirect from that template to the page you want the user to see. I set up a PHP solution first because oftentimes a custom solution needs custom work.
That addresses the first part of your question - Sending an email on submit.
For the pagination and storing the user's selections - I wonder if you could also do this with Safecracker? Set the prev/next buttons to be submit buttons that submit the form in progress. Instead of redirecting through your "processor" template, redirect them to the next page in the pagination. You would maintain the user's "session" through an entry in your submissions channel. You could have a status field that you leave set to "in-progress" and restore their form on a later visit. You could have a cron job that sweeps in-progress entries periodically and deletes old ones.
Note that you can submit a partial entry form using Safecracker, but you will need some core fields, such as title, url_title, entry_date. You can make those hidden fields.
You may also want to look at Postmaster. I have not used it, but it touts being able to configure sending of emails based on a number of triggers and variables.