https://docs.plone.org/develop/plone/functionality/contactform.html is completely out of date. I am using Plone 5.2 and I can't find how to customize the contact form and the Python code. Eg. I can customize the body of the email (/portal_view_customizations/zope.interface.interface-contact-info-email) but I have no idea where I can customize the Subject of the email (I'd like to add a custom prefix string to it)
Try to create a contact form with easyforms and save it under this name: contact-info. This name should be defined under the settings tab.
If I remember it correctly it will work under the root folder or else try to save it under portal_skins/customize. You automatically replace the standard one with this action.
See also P5 contact-info form problem
AFAIK, Plone 5.2 is not using easyform. I just wanted to add a very simple change to the built-in contact form. I cannot find the code which takes the subject and send it. Building a Plone egg package for such a small thing seems to be overkill and also I never did it before.
Easyform is not per se needed. I also tried without, but easyform provided me best value and possibilities. The trick above works also without easyform. Search on this forum with "contact-info". Several people (you, me and others) wanted the same like you and describe their solutions.
Easyform is the way to go
Indeed, the default contact-from is implemented as a minimum reliable feature. If you need more, use Easyform instead of customizing it.