classnetColarEmail::MsgParser
sys::Obj netColarEmail::MsgParser
MsgParser : Parse a Mail message (data) into a parse tree (to be used to build a MailMsg) See RFC 5322
- aChars
- const Int[] aChars := ...
- isAtext
- 0-9 a-z A-Z and aChars 
- isBodyChar
- text = %d1-9 / %d11 / %d12 / %d14-127 
- isQtext
- %d33 / %d35-91 /%d93-126 
- isVchar
- Printable characters 
- isWsp
- white space: space or tab 
- readAtext
- MailNode readAtext(InStream in)- Read aText -> See isAtext() 
- readAtom
- MailNode readAtom(InStream in)- Fandoc ERRORS: Line 1 - Invalid annotation [] [CFWS] 1*atext [CFWS] 
- readBody
- MailNode readBody(InStream in)- Fandoc ERRORS: Line 2 - Invalid *emphasis* Read the email body body = (*(*998text CRLF) *998text) / obs-body 
- readCcontent
- MailNode readCcontent(InStream in)- ctext / quoted-pair / comment 
- readCfws
- MailNode readCfws(InStream in)- Fandoc ERRORS: Line 1 - Invalid annotation [] (1*([FWS] comment) [FWS]) / FWS 
- readComment
- MailNode readComment(InStream in)- Fandoc ERRORS: Line 1 - Invalid annotation [] "(" *([FWS] ccontent) [FWS] ")"
- readCtext
- MailNode readCtext(InStream in)- %d33-39 / %d42-91 / %d93-126 /obs-ctext Not dealing with the obs-ctext for now (obsolete)) 
- readDotAtom
- MailNode readDotAtom(InStream in)- Fandoc ERRORS: Line 1 - Invalid annotation [] dot-atom = [CFWS] dot-atom-text [CFWS] 
- readDotAtomText
- MailNode readDotAtomText(InStream in)- dot-atom-text = 1*atext ("." 1atext) 
- readFoldingWs
- MailNode readFoldingWs(InStream in)- space or tab or \r\n 
- readMessage
- MailNode readMessage(InStream in)- Read a whole message (root node) 
- readPhrase
- MailNode readPhrase(InStream in)- phrase = 1*word / obs-phrase Not dealing with obs-phrase yet 
- readQcontent
- MailNode readQcontent(InStream in)- qcontent = qtext / quoted-pair 
- readQtext
- MailNode readQtext(InStream in)- qtext = %d33 / %d35-91 /%d93-126 /obs-qtext Not dealing with obs-qtext for now 
- readQuotedPair
- MailNode readQuotedPair(InStream in)- Quoted pair. Ex: \t 
- readQuotedString
- MailNode readQuotedString(InStream in)- quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS] 
- readUnfoldedLine
- Str readUnfoldedLine(InStream in)- Read a folded line as a single line If the next line starts with whitespace (space or tab), it's a "folded" line 
- readUnstructured
- MailNode readUnstructured(InStream in)- Fandoc ERRORS: Line 1 - Invalid annotation [] unstructured = (*([FWS] VCHAR) *WSP) / obs-unstruct Not dealing with obs-unstruct yet 
- readWord
- MailNode readWord(InStream in)- word = atom / quoted-string 
- readWsp
- unread
- unreadNodes