10. Appendix E - BNF Summary
boolean = "TRUE" / "FALSE" numericstring = *(DIGIT / " ") printablestring = *( ps-char ) ps-restricted-char = 1DIGIT / 1ALPHA / " " / "'" / "+" / "," / "-" / "." / "/" / ":" / "=" / "?" ps-delim = "(" / ")" ps-char = ps-delim / ps-restricted-char ps-encoded = *( ps-restricted-char / ps-encoded-char ) ps-encoded-char = "(a)" ; (@) / "(p)" ; (%) / "(b)" ; (!) / "(q)" ; (") / "(u)" ; (_) / "(l)" ; "(" / "(r)" ; ")" / "(" 3DIGIT ")" teletex-string = *( ps-char / t61-encoded ) t61-encoded = "{" 1* t61-encoded-char "}" t61-encoded-char = 3DIGIT teletex-and-or-ps = [ printablestring ] [ "*" teletex-string ] labelled-integer ::= [ key-string ] "(" numericstring ")" labelled-integer-2 ::= [ numericstring ] "(" key-string ")" key-string = *key-char key-char = <a-z, A-Z, 0-9, and "-"> object-identifier ::= oid-comp object-identifier | oid-comp oid-comp ::= [ key-string ] "(" numericstring ")" encoded-info = 1#encoded-type encoded-type = built-in-eit / object-identifier built-in-eit = "Undefined" ; undefined (0) / "Telex" ; tLX (1) / "IA5-Text" ; iA5Text (2) / "G3-Fax" ; g3Fax (3) / "TIF0" ; tIF0 (4) / "Teletex" ; tTX (5) / "Videotex" ; videotex (6) / "Voice" ; voice (7) / "SFD" ; sFD (8) / "TIF1" ; tIF1 (9) encoded-pn = [ given "." ] *( initial "." ) surname given = 2*<ps-char not including "."> initial = ALPHA surname = printablestring std-or-address = 1*( "/" attribute "=" value ) "/" attribute = standard-type / "RFC-822" / dd-key "." std-printablestring std-or-address-input = [ sep pair ] sep pair *( sep pair ) sep [ pair sep ] sep = "/" / ";" pair = input-attribute "=" value input-attribute = attribute / dd-key ":" std-printablestring standard-type = key-string dd-key = key-string value = std-printablestring std-printablestring = *( std-char / std-pair ) std-char = <"{", "}", "*", and any ps-char except "/" and "=" > std-pair = "$" ps-char global-id = std-or-address mta-field = "X400-Received" ":" x400-trace / "Deferred-Delivery" ":" date-time / "Latest-Delivery-Time" ":" date-time x400-trace = "by" md-and-mta ";" [ "deferred until" date-time ";" ] [ "converted" "(" encoded-info ")" ";" ] [ "attempted" md-or-mta ";" ] action-list ";" arrival-time md-and-mta = [ "mta" mta "in" ] global-id mta = word arrival-time = date-time md-or-mta = "MD" global-id / "MTA" mta Action-list = 1#action action = "Redirected" / "Expanded" / "Relayed" / "Rerouted" dr-user-info = dr-summary <CRLF> dr-recipients <CRLF> dr-content-return dr-content-return = "The Original Message is not available" / "The Original Message follows:" dr-summary = "This report relates to your message:" <CRLF> content-correlator <CRLF> <CRLF> "of" date-time <CRLF> <CRLF> dr-recipients = *(dr-recipient <CRLF> <CRLF>) dr-recipient = dr-recip-success / dr-recip-failure dr-recip-success = "Your message was successfully delivered to:" mailbox "at" date-time dr-recip-failure = "Your message was not delivered to:" mailbox <CRLF> "for the following reason:" *word report-point = [ "mta" mta-name "in" ] global-id content-correlator = *word mta-name = word dr-per-message-fields = / "X400-Conversion-Date" ":" date-time / "X400-Subject-Submision-Identifier" ":" mts-msg-id / "X400-Content-Identifier" ":" printablestring / "X400-Content-Type" ":" mts-content-type / "X400-Original-Encoded-Information-Types" ":" encoded-info / "X400-Originator-and-DL-Expansion-History" ":" mailbox ";" date-time ";" / "X400-Reporting-DL-Name" ":" mailbox / "X400-Content-Correlator" ":" content-correlator / "X400-Recipient-Info" ":" recipient-info / "X400-Subject-Intermediate-Trace-Information" ":" x400-trace / dr-extensions dr-per-recipient-fields = / "X400-Redirect-Recipient" ":" "x400" ";" std-or / "X400-Mapped-Redirect-Recipient" ":" "rfc822" ";" mailbox / "X400-Converted-EITs" ":" encoded-info ";" / "X400-Delivery-Time" ":" date-time / "X400-Type-of-MTS-User" ":" labelled-integer / "X400-Last-Trace" ":" [ encoded-info ] date-time / "X400-Supplementary-Info" ":" <"> printablestring <"> ";" / "X400-Redirection-History" ":" redirect-history-item / "X400-Physical-Forwarding-Address" ":" mailbox / "X400-Originally-Specified-Recipient-Number" ":" integer / dr-extensions dr-extensions = "X400-Discarded-DR-Extensions" ":" 1# (object-identifier / labelled-integer) dr-diagnostic = "Reason" labelled-integer-2 [ ";" "Diagnostic" labelled-integer-2 ] mts-field = "X400-MTS-Identifier" ":" mts-msg-id / "X400-Originator" ":" mailbox / "X400-Recipients" ":" 1#mailbox / "Original-Encoded-Information-Types" ":" encoded-info / "X400-Content-Type" ":" mts-content-type / "X400-Content-Identifier" ":" printablestring / "Priority" ":" priority / "Originator-Return-Address" ":" 1#mailbox / "DL-Expansion-History" ":" mailbox ";" date-time ";" / "Conversion" ":" prohibition / "Conversion-With-Loss" ":" prohibition / "Delivery-Date" ":" date-time / "Discarded-X400-MTS-Extensions" ":" 1#( object-identifier / labelled-integer ) prohibition = "Prohibited" / "Allowed" mts-msg-id = "[" global-id ";" *text "]" mts-content-type = "P2" / labelled-integer / object-identifier priority = "normal" / "non-urgent" / "urgent" ipn-body-format = ipn-description <CRLF> [ ipn-extra-information <CRLF> ] [ ipn-content-return ] ipn-description = ipn-receipt / ipn-non-receipt ipn-receipt = "Your message to:" preferred-recipient <CRLF> "was received at" receipt-time <CRLF> <CRLF> "This notification was generated" acknowledgement-mode <CRLF> "The following extra information was given:" <CRLF> ipn-suppl <CRLF> ipn-non-receipt = "Your message to:" preferred-recipient <CRLF> ipn-reason ipn-reason = ipn-discarded / ipn-auto-forwarded ipn-discarded = "was discarded for the following reason:" discard-reason <CRLF> ipn-auto-forwarded = "was automatically forwarded." <CRLF> [ "The following comment was made:" auto-comment ] ipn-extra-information = "The following information types were converted:" encoded-info ipn-content-return = "The Original Message is not available" / "The Original Message follows:" preferred-recipient = mailbox receipt-time = date-time auto-comment = printablestring ipn-suppl = printablestring discard-reason = "Expired" / "Obsoleted" / "User Subscription Terminated" / "IPM Deleted" acknowledgement-mode = "Manually" / "Automatically" ipms-field = "Supersedes" ":" 1*msg-id / "Expires" ":" date-time / "Reply-By" ":" date-time / "Importance" ":" importance / "Sensitivity" ":" sensitivity / "Autoforwarded" ":" boolean / "Incomplete-Copy" ":" / "Content-Language" ":" 1#language / "Message-Type" ":" message-type / "Discarded-X400-IPMS-Extensions" ":" 1#object-identifier / "Autosubmitted" ":" autosubmitted importance = "low" / "normal" / "high" sensitivity = "Personal" / "Private" / "Company-Confidential" language = 2*ALPHA [ "(" language-description ")" ] language-description = printable-string message-type = "Delivery Report" / "InterPersonal Notification" / "Multiple Part" autosubmitted = "not-auto-submitted" / "auto-generated" / "auto-replied" / "auto-forwarded" redirect-comment = redirect-first *( redirect-subsequent ) redirect-first = "Originally To:" mailbox "Redirected on" date-time "To:" redirection-reason redirect-subsequent = mailbox "Redirected Again on" date-time "To:" redirection-reason redirection-history-item = "intended recipient" mailbox "redirected to" redirection-reason "on" date-time redirection-reason = "Recipient Assigned Alternate Recipient" / "Originator Requested Alternate Recipient" / "Recipient MD Assigned Alternate Recipient" / "Directory Look Up" / "Alias" subject-line = "Delivery-Report" "(" status ")" [ "for" destination ] status = "success" / "failure" / "success and failures" destination = mailbox / "MTA" word extended-heading = "Prevent-NonDelivery-Report" ":" / "Generate-Delivery-Report" ":" / "Alternate-Recipient" ":" prohibition / "Disclose-Recipients" ":" prohibition / "X400-Content-Return" ":" prohibition
