There is a Contact Form feature included that can be configured to send mail to an email address and it also has a db and ui for viewing messages in case delivery fails. It does not do anything based on the url, but you can add as many instances of the form to as many pages as you like and each has its own instance settings for the receiving email address.
Yes, you can simply create a UserControl as described in our Hello World article. Optionally and perhaps ideally, your UserControl will inherit from SiteModuleControl to get some built in infrastructure you can use like ModuleSettings. The existing Contact Form and most features store their instance specific settings in Module Settings.
For complex features I recommend read this overview. There is quite a bit of information that may be helpful in the Developer Docs section.