Before Emailing. Save it first

I have noticed that or perhaps due to my extensive editing. I have 3 customs fields, when a user click send email (without first saving the invoice) it sent out empty. I have removed item table row btw.

So How exactly I could have the Invoice saved first (if they omit) or is there a way, that customs fields are saved automatically, when clicked on email button (without first saving) or other option. disable email options, if invoice status is draft (the default) and only enable if customs fields are filled and Invoice is saved.

I mean sure… An invoice has to be saved to be sent. Otherwise all content of the invoice including the custom fields will not be saved to the database and the email handler can’t append anything to the mail.

What I meant disable mailer if invoice is not saved first? Possible?? I have go workaround with JavaScript though. It puts options drop down to disable state if invoice status is draft. Upon saving it enables options menu where email option is. Any better workaround than this. Using php which disables email sending if not saved first