Most form extensions would be sufficient for this job.
For example with RSForm (paid extension), you can build almost any kind of forms and render them as a module, using the RSForm module in any module position, or inside any article using the RSForm content plugin.
You can setup the form to send emails that you can customise to Admins, Form submission users, 3rd parties.
If you need to give an option to the user to select if we wants to receive a copy of his submission or not, you could use a checkbox with conditional logic in the backend of your form.
It should be rather easy to setup simple forms, but for more complex implementations you can find sufficient help from the documentation or ask questions to their support.
Apart of the RSForm, you can find many other good form extensions in the Joomla ecosystem, capable for the job: https://extensions.joomla.org/tags/contact-forms/