How does the /civicrm/CRM/Mailing/xml/Menu/Mailing.xml file work?
If you are planning on submitting a change to CiviCRM, then modifying this file may be what you want to do to modify the existing behaviour. Clearing CiviCRM's caches (Administer → System Settings → Cleanup Caches and Update Paths) will reload those callbacks as defined in the XML. But: You probably don't want to do this :)

If you're hoping to customise your CiviCRM install and be able to keep your site upgraded in future, stop now. Instead I recommend you look into how to write a custom CiviCRM extension for your site, which packages your changes separately from the main codebase.

By writing an extension using CiviCRM's published interfaces, you can upgrade to the next release more easily. On your current path you'll soon be maintaining a modified version of the CiviCRM codebase, which will introduce more and more upgrade challenges, leaving you / your client in a more difficult position.


CiviCRM hook reference lists your entry points for modifying CiviCRM behaviour
Create a CiviCRM extension shows you how to get up and running
civix is a tool to get you there faster