Send a Gmail draft
Input
draftId requiredThe draft's current id, as returned by the drafts listing. Gmail replaces a draft's id every time it is saved, so use a freshly listed one.
Output
sent requiredTrue when the message was actually sent. Always true on success — the script fails loudly instead of returning false.
subject requiredSubject of the message that was sent. Empty when the draft had no subject.
threadId requiredConversation id, unchanged by sending, so the sent message can be located afterwards.
account_used requiredThe Gmail account the message was sent from, read from the session rather than assumed.
verified_on_page requiredTrue when the conversation was found in Sent afterwards, which is what proves the message went.
recipientsDisplay requiredThe recipients exactly as the compose window lists them — display names with the domain, which is what Gmail renders there. Full email addresses are not available on this surface, so none are invented; this is reported so the delivery is still auditable.
sender optionalThe from address as the compose window shows it, read off the message itself rather than the browser session.
leftDrafts optionalWhether the draft had also disappeared from Drafts by the time this was checked. Informational: sending always removes it, but the list does not always repaint immediately, so false here does not mean the send failed.
foundInSent optionalWhether the conversation was found in Sent afterwards. This is the proof of sending.
previousDraftId optionalThe draft id that was sent and therefore no longer exists as a draft.
