License: DEL

action mail

Act On Mails

action mail provides a specification, parsing tools, and mail client utilities to obtain action entities and/or action variables from mails, messages, or other user input.

action entities have true or false values. action variables have string values.

action mails are intended to be used for accountless interactions, however the parsing functionality can be used to extract and perform actions for fully authenticated users using any realtime communication channel.

An user is accountless when interacting with an internet service without being expressly identified to/for that service.

An user could desire to be accountless and at the same time be interested in a particular product offered by an internet service. They could even desire to purchase that particular product, but without going through the hassle of setting up an account, or exposing their favorite login with provider for just another, simple, one-time buy event. They want a flea market-like economic transaction, not to engage in a 12 year relationship with a prenuptial agreement and a tough divorce.


An action mail field content is enclosed in { and }, or in [ and ], or in other characters that have a general delimiting semantic, customizable and specified by the service implementing action mails. The action mail field content can consist of one or more action mail field tokens.

An action mail field token can be an action mail entity or an action mail variable.

The action mail entity expresses the truth or falseness of a concept, e.g. {send}, {generate}. action mail entities can be negated by prefixing the token with common language words: don't, no, none; e.g. {don't send}. The negations can be extended and specified by the service implementing action mails.

The action mail variables expect a string value after the colon, e.g. {name: one}, {zip code: 012345}. The value is generally left to be filled by the user, but it can contain predefined values. The parsing of the string value into types, i.e. numbers, is left to the service implementing action mails, e.g. { one: 123 } is parsed as { one: '123' }.

An action mail field can have multiple entities and/or variables, using a spacer to distinguish them, e.g. {send · name: one}, {generate, don't send}, with · and , acting as spacers. The spacers are customizable and specified by the service implementing action mails.

The leading and trailing whitespace is trimmed from action mail field entities and variables, e.g.

{ pay } 

is parsed as { pay: true } and

{ one: two } 

is parsed as { one: 'two' }.

action mail parser



camel case keys
groups key
{ "camelCaseKeys": false, "fielders": [ [ "{", "}" ] ], "groupsKey": "groups", "negations": [ "no", "not", "none", "don't", "do not" ], "spacer": "" }