Some methods/functions simply do not work in onEdit trigger
You can see an execution flow in view -> execution transcript in the script editor. Just change a cell value in spreadsheet then come back the script editor and check "execution transcript". It will show you an error if it happens.
Simple triggers like onOpen
or onEdit
are not able to do anything that requires authorization like sending mails because they run silently and anonymously.
This is all explained in the documentation .
You should simply rename your onEdit
function to something else - SpecialOnEdit
for example ? - and create an installable trigger (documentation) from the script editor menu (ressources/triggers/create a new trigger...)