How to make download file link to open form and mail the download link to email?
There is simple solution for this.

You need to create a form using custom module and link download file with that form. When user click on download file link, it will redirect user to form.

In the form submit, you can send mail to client with download link and admin also and can perform other task too.

If you want to expire download link after once download, you can save the counter of download in database. You need to create link for download in your custom module and in page callback of that link, you can check if its already downloaded or not.