Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
5.1 KiB

  1. //-----------------------------------------------------------------------------
  2. //
  3. //
  4. // File: dsntext.h
  5. //
  6. // Description: Defines DSN test
  7. //
  8. // Author: Mike Swafford (MikeSwa)
  9. //
  10. // History:
  11. // 7/3/98 - MikeSwa Created
  12. //
  13. // Copyright (C) 1998 Microsoft Corporation
  14. //
  15. //-----------------------------------------------------------------------------
  16. #ifndef __DSNTEXT_H__
  17. #define __DSNTEXT_H__
  18. #ifdef PLATINUM
  19. #define DSN_RESOUCE_MODULE_NAME "phatq.dll"
  20. #else //PLATINUM
  21. #define DSN_RESOUCE_MODULE_NAME "aqueue.dll"
  22. #endif //PLATINUM
  23. //822 DSN Message headers
  24. #define TO_HEADER "\r\nTo: "
  25. #define BCC_HEADER "\r\nBcc: "
  26. #define DSN_CONTEXT_HEADER "\r\nX-DSNContext: "
  27. #define DSN_CONTENT_FAILURE_HEADER "\r\nX-Content-Failure: "
  28. #define MIME_HEADER "\r\nMIME-Version: 1.0\r\n" \
  29. "Content-Type: multipart/report; " \
  30. "report-type=delivery-status;\r\n" \
  31. "\tboundary="
  32. #define DATE_HEADER "\r\nDate: "
  33. #define SUBJECT_HEADER "\r\nSubject: "
  34. #define MSGID_HEADER "\r\nMessage-ID: "
  35. #define MIME_DELIMITER "--"
  36. #define DSN_MAIL_FROM "<>"
  37. #define DSN_FROM_HEADER "From: "
  38. #define DSN_SENDER_ADDRESS_PREFIX "postmaster@"
  39. #define DSN_RFC822_SENDER DSN_FROM_HEADER DSN_SENDER_ADDRESS_PREFIX
  40. #define BLANK_LINE "\r\n\r\n"
  41. #define DSN_INDENT " "
  42. #define DSN_CRLF "\r\n"
  43. //822 DSN Headers used when copying original message... since we do not
  44. //know if we will have a preceeeding property, these do not include the
  45. //preceeeding CRLF.
  46. #define DSN_FROM_HEADER_NO_CRLF "From: "
  47. #define SUBJECT_HEADER_NO_CRLF "Subject: "
  48. #define MSGID_HEADER_NO_CRLF "Message-ID: "
  49. #define DATE_HEADER_NO_CRLF "Date: "
  50. #define TO_HEADER_NO_CRLF "To: "
  51. #define ADDRESS_SEPERATOR ", " // Seperate addresses with comma
  52. //DSN Report fields
  53. #define MIME_CONTENT_TYPE "\r\nContent-Type: "
  54. #define DSN_HEADER_TYPE_DELIMITER ";"
  55. #define DSN_MIME_TYPE "message/delivery-status"
  56. #define DSN_HUMAN_READABLE_TYPE "text/plain"
  57. #define DSN_MIME_CHARSET_HEADER "; charset="
  58. #define DSN_RFC822_TYPE "message/rfc822"
  59. #define DSN_HEADERS_TYPE "text/rfc822-headers"
  60. #define DSN_HEADER_ENVID "\r\nOriginal-Envelope-Id: "
  61. #define DSN_HEADER_REPORTING_MTA "\r\nReporting-MTA: dns;"
  62. #define DSN_HEADER_DSN_GATEWAY "\r\nDSN-Gateway: "
  63. #define DSN_HEADER_RECEIVED_FROM "\r\nReceived-From-MTA: dns;"
  64. #define DSN_HEADER_ARRIVAL_DATE "\r\nArrival-Date: "
  65. #define DSN_RP_HEADER_ORCPT "\r\nOriginal-Recipient: "
  66. #define DSN_HEADER_DISPLAY_NAME "\r\nX-Display-Name: "
  67. #define DSN_RP_HEADER_FINAL_RECIP "\r\nFinal-Recipient: "
  68. #define DSN_RP_HEADER_ACTION "\r\nAction: "
  69. #define DSN_RP_HEADER_ACTION_FAILURE "failed"
  70. #define DSN_RP_HEADER_ACTION_DELAYED "delayed"
  71. #define DSN_RP_HEADER_ACTION_DELIVERED "delivered"
  72. #define DSN_RP_HEADER_ACTION_RELAYED "relayed"
  73. #define DSN_RP_HEADER_ACTION_EXPANDED "expanded"
  74. #define DSN_RP_HEADER_STATUS "\r\nStatus: "
  75. #define DSN_RP_HEADER_REMOTE_MTA "\r\nRemote-MTA: dns;"
  76. #define DSN_RP_HEADER_DIAG_CODE "\r\nDiagnostic-Code: smtp;"
  77. #define DSN_RP_HEADER_LAST_ATTEMPT "\r\nLast-Attempt-Date: "
  78. #define DSN_RP_HEADER_FINAL_LOG "\r\nFinal-Log-Id: "
  79. #define DSN_RP_HEADER_RETRY_UNTIL "\r\nWill-Retry-Until: "
  80. //status codes
  81. #define DSN_STATUS_CH_DELIMITER '.'
  82. #define DSN_STATUS_CH_INVALID '\0'
  83. #define DSN_STATUS_CH_GENERIC '0'
  84. //generic status codes
  85. #define DSN_STATUS_FAILED "5.0.0"
  86. #define DSN_STATUS_DELAYED "4.0.0"
  87. #define DSN_STATUS_SUCCEEDED "2.0.0"
  88. #define DSN_STATUS_SMTP_PROTOCOL_ERROR "5.5.0" // Generic SMTP protocol error
  89. //Class (first) digit of status codes
  90. #define DSN_STATUS_CH_CLASS_SUCCEEDED '2'
  91. #define DSN_STATUS_CH_CLASS_TRANSIENT '4'
  92. #define DSN_STATUS_CH_CLASS_FAILED '5'
  93. //Subject (second) digit(s) of status codes
  94. #define DSN_STATUS_CH_SUBJECT_GENERAL '0'
  95. #define DSN_STATUS_CH_SUBJECT_ADDRESS '1'
  96. #define DSN_STATUS_CH_SUBJECT_MAILBOX '2'
  97. #define DSN_STATUS_CH_SUBJECT_SYSTEM '3'
  98. #define DSN_STATUS_CH_SUBJECT_NETWORK '4'
  99. #define DSN_STATUS_CH_SUBJECT_PROTOCOL '5'
  100. #define DSN_STATUS_CH_SUBJECT_CONTENT '6'
  101. #define DSN_STATUS_CH_SUBJECT_POLICY '7'
  102. //Detail (third) digit(s) of status codes
  103. #define DSN_STATUS_CH_DETAIL_GENERAL '0'
  104. //This part appears before the first MIME part and is intended for non-MIME
  105. //clients. It *cannot* be localized since it is not actually part of any MIME
  106. //part and must be 100% US-ASCII
  107. #define MESSAGE_SUMMARY "This is a MIME-formatted message. \r\n" \
  108. "Portions of this message may be unreadable without a MIME-capable mail program."
  109. //String that can be localized are located in dsnlang.h and aqueue.rc
  110. #endif //__DSNTEXT_H__