Warning, /pim/trojita/src/Imap/Parser/rfc5322.abnf is written in an unsupported language. File is not indexed.
0001 quoted-pair = ("\" (VCHAR / WSP)) / obs-qp 0002 0003 0004 FWS = ([*WSP CRLF] 1*WSP) / obs-FWS 0005 ; Folding white space 0006 0007 ctext = %d33-39 / ; Printable US-ASCII 0008 %d42-91 / ; characters not including 0009 %d93-126 / ; "(", ")", or "\" 0010 obs-ctext 0011 0012 ccontent = ctext / quoted-pair / comment 0013 0014 comment = "(" *([FWS] ccontent) [FWS] ")" 0015 0016 CFWS = (1*([FWS] comment) [FWS]) / FWS 0017 0018 atext = ALPHA / DIGIT / ; Printable US-ASCII 0019 "!" / "#" / ; characters not including 0020 "$" / "%" / ; specials. Used for atoms. 0021 "&" / "'" / 0022 "*" / "+" / 0023 "-" / "/" / 0024 "=" / "?" / 0025 "^" / "_" / 0026 "`" / "{" / 0027 "|" / "}" / 0028 "~" 0029 0030 atom = [CFWS] 1*atext [CFWS] 0031 0032 dot-atom-text = 1*atext *("." 1*atext) 0033 0034 dot-atom = [CFWS] dot-atom-text [CFWS] 0035 0036 specials = "(" / ")" / ; Special characters that do 0037 "<" / ">" / ; not appear in atext 0038 "[" / "]" / 0039 ":" / ";" / 0040 "@" / "\" / 0041 "," / "." / 0042 DQUOTE 0043 0044 0045 qtext = %d33 / ; Printable US-ASCII 0046 %d35-91 / ; characters not including 0047 %d93-126 / ; "\" or the quote character 0048 obs-qtext 0049 0050 qcontent = qtext / quoted-pair 0051 0052 quoted-string = [CFWS] 0053 DQUOTE ((1*([FWS] qcontent) [FWS]) / FWS) DQUOTE 0054 [CFWS] 0055 0056 0057 word = atom / quoted-string 0058 0059 phrase = 1*word / obs-phrase 0060 0061 unstructured = (*([FWS] VCHAR) *WSP) / obs-unstruct 0062 0063 0064 date-time = [ day-of-week "," ] date time [CFWS] 0065 0066 day-of-week = ([FWS] day-name) / obs-day-of-week 0067 0068 day-name = "Mon" / "Tue" / "Wed" / "Thu" / 0069 "Fri" / "Sat" / "Sun" 0070 0071 date = day month year 0072 0073 day = ([FWS] 1*2DIGIT FWS) / obs-day 0074 0075 month = "Jan" / "Feb" / "Mar" / "Apr" / 0076 "May" / "Jun" / "Jul" / "Aug" / 0077 "Sep" / "Oct" / "Nov" / "Dec" 0078 0079 year = (FWS 4*DIGIT FWS) / obs-year 0080 0081 time = time-of-day zone 0082 0083 time-of-day = hour ":" minute [ ":" second ] 0084 0085 hour = 2DIGIT / obs-hour 0086 0087 minute = 2DIGIT / obs-minute 0088 0089 second = 2DIGIT / obs-second 0090 0091 zone = (FWS ( "+" / "-" ) 4DIGIT) / obs-zone 0092 0093 0094 address = mailbox / group 0095 0096 mailbox = name-addr / addr-spec 0097 0098 name-addr = [display-name] angle-addr 0099 0100 angle-addr = [CFWS] "<" addr-spec ">" [CFWS] / 0101 obs-angle-addr 0102 0103 group = display-name ":" [group-list] ";" [CFWS] 0104 0105 display-name = phrase 0106 0107 mailbox-list = (mailbox *("," mailbox)) / obs-mbox-list 0108 0109 address-list = (address *("," address)) / obs-addr-list 0110 0111 group-list = mailbox-list / CFWS / obs-group-list 0112 0113 0114 addr-spec = local-part "@" domain 0115 0116 local-part = dot-atom / quoted-string / obs-local-part 0117 0118 domain = dot-atom / domain-literal / obs-domain 0119 0120 domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS] 0121 0122 dtext = %d33-90 / ; Printable US-ASCII 0123 %d94-126 / ; characters not including 0124 obs-dtext ; "[", "]", or "\" 0125 0126 message = (fields / obs-fields) 0127 [CRLF body] 0128 0129 body = (*(*998text CRLF) *998text) / obs-body 0130 0131 text = %d1-9 / ; Characters excluding CR 0132 %d11 / ; and LF 0133 %d12 / 0134 %d14-127 0135 0136 fields = *(trace 0137 *optional-field / 0138 1*(resent-date / 0139 resent-from / 0140 resent-sender / 0141 resent-to / 0142 resent-cc / 0143 resent-bcc / 0144 resent-msg-id)) 0145 *(orig-date / 0146 from / 0147 sender / 0148 reply-to / 0149 to / 0150 cc / 0151 bcc / 0152 message-id / 0153 in-reply-to / 0154 references / 0155 subject / 0156 comments / 0157 keywords / 0158 optional-field) 0159 0160 0161 orig-date = "Date:" date-time CRLF 0162 0163 0164 from = "From:" mailbox-list CRLF 0165 0166 sender = "Sender:" mailbox CRLF 0167 0168 reply-to = "Reply-To:" address-list CRLF 0169 0170 0171 to = "To:" address-list CRLF 0172 0173 cc = "Cc:" address-list CRLF 0174 0175 bcc = "Bcc:" [address-list / CFWS] CRLF 0176 0177 0178 message-id = "Message-ID:" msg-id CRLF 0179 0180 in-reply-to = "In-Reply-To:" 1*msg-id CRLF 0181 0182 references = "References:" 1*msg-id CRLF 0183 0184 msg-id = [CFWS] "<" id-left "@" id-right ">" [CFWS] 0185 0186 id-left = dot-atom-text / obs-id-left 0187 0188 id-right = dot-atom-text / no-fold-literal / obs-id-right 0189 0190 no-fold-literal = "[" *dtext "]" 0191 0192 0193 subject = "Subject:" unstructured CRLF 0194 0195 comments = "Comments:" unstructured CRLF 0196 0197 keywords = "Keywords:" phrase *("," phrase) CRLF 0198 0199 0200 resent-date = "Resent-Date:" date-time CRLF 0201 0202 resent-from = "Resent-From:" mailbox-list CRLF 0203 0204 resent-sender = "Resent-Sender:" mailbox CRLF 0205 0206 resent-to = "Resent-To:" address-list CRLF 0207 0208 resent-cc = "Resent-Cc:" address-list CRLF 0209 0210 resent-bcc = "Resent-Bcc:" [address-list / CFWS] CRLF 0211 0212 resent-msg-id = "Resent-Message-ID:" msg-id CRLF 0213 0214 0215 trace = [return] 0216 1*received 0217 0218 return = "Return-Path:" path CRLF 0219 0220 path = angle-addr / ([CFWS] "<" [CFWS] ">" [CFWS]) 0221 0222 received = "Received:" *received-token ";" date-time CRLF 0223 0224 received-token = word / angle-addr / addr-spec / domain 0225 0226 optional-field = field-name ":" unstructured CRLF 0227 0228 field-name = 1*ftext 0229 0230 ftext = %d33-57 / ; Printable US-ASCII 0231 %d59-126 ; characters not including 0232 ; ":". 0233 0234 obs-NO-WS-CTL = %d1-8 / ; US-ASCII control 0235 %d11 / ; characters that do not 0236 %d12 / ; include the carriage 0237 %d14-31 / ; return, line feed, and 0238 %d127 ; white space characters 0239 0240 obs-ctext = obs-NO-WS-CTL 0241 0242 obs-qtext = obs-NO-WS-CTL 0243 0244 obs-utext = %d0 / obs-NO-WS-CTL / VCHAR 0245 0246 obs-qp = "\" (%d0 / obs-NO-WS-CTL / LF / CR) 0247 0248 obs-body = *(%d0-127) 0249 0250 obs-unstruct = *( (*CR 1*(obs-utext / FWS)) / 1*LF ) *CR 0251 0252 0253 obs-phrase = word *(word / "." / CFWS) 0254 0255 obs-phrase-list = [phrase / CFWS] *("," [phrase / CFWS]) 0256 0257 obs-FWS = 1*([CRLF] WSP) 0258 0259 obs-day-of-week = [CFWS] day-name [CFWS] 0260 0261 obs-day = [CFWS] 1*2DIGIT [CFWS] 0262 0263 obs-year = [CFWS] 2*DIGIT [CFWS] 0264 0265 obs-hour = [CFWS] 2DIGIT [CFWS] 0266 0267 obs-minute = [CFWS] 2DIGIT [CFWS] 0268 0269 obs-second = [CFWS] 2DIGIT [CFWS] 0270 0271 obs-zone = "UT" / "GMT" / ; Universal Time 0272 ; North American UT 0273 ; offsets 0274 "EST" / "EDT" / ; Eastern: - 5/ - 4 0275 "CST" / "CDT" / ; Central: - 6/ - 5 0276 "MST" / "MDT" / ; Mountain: - 7/ - 6 0277 "PST" / "PDT" / ; Pacific: - 8/ - 7 0278 ; 0279 0280 0281 0282 %d65-73 / ; Military zones - "A" 0283 %d75-90 / ; through "I" and "K" 0284 %d97-105 / ; through "Z", both 0285 %d107-122 ; upper and lower case 0286 0287 obs-angle-addr = [CFWS] "<" obs-route addr-spec ">" [CFWS] 0288 0289 obs-route = obs-domain-list ":" 0290 0291 obs-domain-list = *(CFWS / ",") "@" domain 0292 *("," [CFWS] ["@" domain]) 0293 0294 obs-mbox-list = *([CFWS] ",") mailbox *("," [mailbox / CFWS]) 0295 0296 obs-addr-list = *([CFWS] ",") address *("," [address / CFWS]) 0297 0298 obs-group-list = 1*([CFWS] ",") [CFWS] 0299 0300 obs-local-part = word *("." word) 0301 0302 obs-domain = atom *("." atom) 0303 0304 obs-dtext = obs-NO-WS-CTL / quoted-pair 0305 0306 obs-fields = *(obs-return / 0307 obs-received / 0308 obs-orig-date / 0309 obs-from / 0310 obs-sender / 0311 obs-reply-to / 0312 obs-to / 0313 obs-cc / 0314 obs-bcc / 0315 obs-message-id / 0316 obs-in-reply-to / 0317 obs-references / 0318 obs-subject / 0319 obs-comments / 0320 obs-keywords / 0321 obs-resent-date / 0322 obs-resent-from / 0323 obs-resent-send / 0324 obs-resent-rply / 0325 obs-resent-to / 0326 obs-resent-cc / 0327 obs-resent-bcc / 0328 obs-resent-mid / 0329 obs-optional) 0330 0331 0332 obs-orig-date = "Date" *WSP ":" date-time CRLF 0333 0334 obs-from = "From" *WSP ":" mailbox-list CRLF 0335 0336 obs-sender = "Sender" *WSP ":" mailbox CRLF 0337 0338 obs-reply-to = "Reply-To" *WSP ":" address-list CRLF 0339 0340 0341 obs-to = "To" *WSP ":" address-list CRLF 0342 0343 obs-cc = "Cc" *WSP ":" address-list CRLF 0344 0345 obs-bcc = "Bcc" *WSP ":" 0346 (address-list / (*([CFWS] ",") [CFWS])) CRLF 0347 0348 obs-message-id = "Message-ID" *WSP ":" msg-id CRLF 0349 0350 obs-in-reply-to = "In-Reply-To" *WSP ":" *(phrase / msg-id) CRLF 0351 0352 obs-references = "References" *WSP ":" *(phrase / msg-id) CRLF 0353 0354 obs-id-left = local-part 0355 0356 obs-id-right = domain 0357 0358 obs-subject = "Subject" *WSP ":" unstructured CRLF 0359 0360 obs-comments = "Comments" *WSP ":" unstructured CRLF 0361 0362 obs-keywords = "Keywords" *WSP ":" obs-phrase-list CRLF 0363 0364 0365 obs-resent-from = "Resent-From" *WSP ":" mailbox-list CRLF 0366 0367 obs-resent-send = "Resent-Sender" *WSP ":" mailbox CRLF 0368 0369 obs-resent-date = "Resent-Date" *WSP ":" date-time CRLF 0370 0371 obs-resent-to = "Resent-To" *WSP ":" address-list CRLF 0372 0373 obs-resent-cc = "Resent-Cc" *WSP ":" address-list CRLF 0374 0375 obs-resent-bcc = "Resent-Bcc" *WSP ":" 0376 (address-list / (*([CFWS] ",") [CFWS])) CRLF 0377 0378 obs-resent-mid = "Resent-Message-ID" *WSP ":" msg-id CRLF 0379 0380 obs-resent-rply = "Resent-Reply-To" *WSP ":" address-list CRLF 0381 0382 obs-return = "Return-Path" *WSP ":" path CRLF 0383 0384 obs-received = "Received" *WSP ":" *received-token CRLF 0385 0386 obs-optional = field-name *WSP ":" unstructured CRLF 0387 0388