diff options
| author | manuel <manuel@mausz.at> | 2013-02-06 00:49:23 +0100 |
|---|---|---|
| committer | manuel <manuel@mausz.at> | 2013-02-06 00:49:23 +0100 |
| commit | 5ef4e933302b0b325185013d351ffa78402d3c5c (patch) | |
| tree | 3a5a06cabbba694e3d1819deafc2aa89a25a2db7 /qmail-mbox.5 | |
| parent | aa4cc23071213f405b1671a5beaae3266cc1af45 (diff) | |
| download | qmail-5ef4e933302b0b325185013d351ffa78402d3c5c.tar.gz qmail-5ef4e933302b0b325185013d351ffa78402d3c5c.tar.bz2 qmail-5ef4e933302b0b325185013d351ffa78402d3c5c.zip | |
[PATCH] rename mbox.5 + fix-manpages
Diffstat (limited to 'qmail-mbox.5')
| -rw-r--r-- | qmail-mbox.5 | 235 |
1 files changed, 235 insertions, 0 deletions
diff --git a/qmail-mbox.5 b/qmail-mbox.5 new file mode 100644 index 0000000..05dd737 --- /dev/null +++ b/qmail-mbox.5 | |||
| @@ -0,0 +1,235 @@ | |||
| 1 | .TH qmail-mbox 5 | ||
| 2 | .SH "NAME" | ||
| 3 | mbox \- file containing mail messages | ||
| 4 | .SH "INTRODUCTION" | ||
| 5 | The most common format for storage of mail messages is | ||
| 6 | .I mbox | ||
| 7 | format. | ||
| 8 | An | ||
| 9 | .I mbox | ||
| 10 | is a single file containing zero or more mail messages. | ||
| 11 | .SH "MESSAGE FORMAT" | ||
| 12 | A message encoded in | ||
| 13 | .I mbox | ||
| 14 | format begins with a | ||
| 15 | .B From_ | ||
| 16 | line, continues with a series of | ||
| 17 | .B \fRnon-\fBFrom_ | ||
| 18 | lines, | ||
| 19 | and ends with a blank line. | ||
| 20 | A | ||
| 21 | .B From_ | ||
| 22 | line means any line that begins with the characters | ||
| 23 | F, r, o, m, space: | ||
| 24 | |||
| 25 | .EX | ||
| 26 | From god@heaven.af.mil Sat Jan 3 01:05:34 1996 | ||
| 27 | .br | ||
| 28 | Return-Path: <god@heaven.af.mil> | ||
| 29 | .br | ||
| 30 | Delivered-To: djb@silverton.berkeley.edu | ||
| 31 | .br | ||
| 32 | Date: 3 Jan 1996 01:05:34 -0000 | ||
| 33 | .br | ||
| 34 | From: God <god@heaven.af.mil> | ||
| 35 | .br | ||
| 36 | To: djb@silverton.berkeley.edu (D. J. Bernstein) | ||
| 37 | .br | ||
| 38 | |||
| 39 | .br | ||
| 40 | How's that mail system project coming along? | ||
| 41 | .br | ||
| 42 | |||
| 43 | .EE | ||
| 44 | |||
| 45 | The final line is a completely blank line (no spaces or tabs). | ||
| 46 | Notice that blank lines may also appear elsewhere in the message. | ||
| 47 | |||
| 48 | The | ||
| 49 | .B From_ | ||
| 50 | line always looks like | ||
| 51 | .B From | ||
| 52 | .I envsender | ||
| 53 | .I date | ||
| 54 | .IR moreinfo . | ||
| 55 | .I envsender | ||
| 56 | is one word, without spaces or tabs; | ||
| 57 | it is usually the envelope sender of the message. | ||
| 58 | .I date | ||
| 59 | is the delivery date of the message. | ||
| 60 | It always contains exactly 24 characters in | ||
| 61 | .B asctime | ||
| 62 | format. | ||
| 63 | .I moreinfo | ||
| 64 | is optional; it may contain arbitrary information. | ||
| 65 | |||
| 66 | Between the | ||
| 67 | .B From_ | ||
| 68 | line and the blank line is a message in RFC 822 format, | ||
| 69 | as described in | ||
| 70 | .BR qmail-header(5) , | ||
| 71 | subject to | ||
| 72 | .B >From quoting | ||
| 73 | as described below. | ||
| 74 | .SH "HOW A MESSAGE IS DELIVERED" | ||
| 75 | Here is how a program appends a message to an | ||
| 76 | .I mbox | ||
| 77 | file. | ||
| 78 | |||
| 79 | It first creates a | ||
| 80 | .B From_ | ||
| 81 | line given the message's envelope sender and the current date. | ||
| 82 | If the envelope sender is empty (i.e., if this is a bounce message), | ||
| 83 | the program uses | ||
| 84 | .B MAILER-DAEMON | ||
| 85 | instead. | ||
| 86 | If the envelope sender contains spaces, tabs, or newlines, | ||
| 87 | the program replaces them with hyphens. | ||
| 88 | |||
| 89 | The program then copies the message, applying | ||
| 90 | .B >From quoting | ||
| 91 | to each line. | ||
| 92 | .B >From quoting | ||
| 93 | ensures that the resulting lines are not | ||
| 94 | .B From_ | ||
| 95 | lines: | ||
| 96 | the program prepends a | ||
| 97 | .B > | ||
| 98 | to any | ||
| 99 | .B From_ | ||
| 100 | line, | ||
| 101 | .B >From_ | ||
| 102 | line, | ||
| 103 | .B >>From_ | ||
| 104 | line, | ||
| 105 | .B >>>From_ | ||
| 106 | line, | ||
| 107 | etc. | ||
| 108 | |||
| 109 | Finally the program appends a blank line to the message. | ||
| 110 | If the last line of the message was a partial line, | ||
| 111 | it writes two newlines; | ||
| 112 | otherwise it writes one. | ||
| 113 | .SH "HOW A MESSAGE IS READ" | ||
| 114 | A reader scans through an | ||
| 115 | .I mbox | ||
| 116 | file looking for | ||
| 117 | .B From_ | ||
| 118 | lines. | ||
| 119 | Any | ||
| 120 | .B From_ | ||
| 121 | line marks the beginning of a message. | ||
| 122 | The reader should not attempt to take advantage of the fact that every | ||
| 123 | .B From_ | ||
| 124 | line (past the beginning of the file) | ||
| 125 | is preceded by a blank line. | ||
| 126 | |||
| 127 | Once the reader finds a message, | ||
| 128 | it extracts a (possibly corrupted) envelope sender | ||
| 129 | and delivery date out of the | ||
| 130 | .B From_ | ||
| 131 | line. | ||
| 132 | It then reads until the next | ||
| 133 | .B From_ | ||
| 134 | line or end of file, whichever comes first. | ||
| 135 | It strips off the final blank line | ||
| 136 | and | ||
| 137 | deletes the | ||
| 138 | quoting of | ||
| 139 | .B >From_ | ||
| 140 | lines and | ||
| 141 | .B >>From_ | ||
| 142 | lines and so on. | ||
| 143 | The result is an RFC 822 message. | ||
| 144 | .SH "COMMON MBOX VARIANTS" | ||
| 145 | There are many variants of | ||
| 146 | .I mbox | ||
| 147 | format. | ||
| 148 | The variant described above is | ||
| 149 | .I mboxrd | ||
| 150 | format, popularized by Rahul Dhesi in June 1995. | ||
| 151 | |||
| 152 | The original | ||
| 153 | .I mboxo | ||
| 154 | format quotes only | ||
| 155 | .B From_ | ||
| 156 | lines, not | ||
| 157 | .B >From_ | ||
| 158 | lines. | ||
| 159 | As a result it is impossible to tell whether | ||
| 160 | |||
| 161 | .EX | ||
| 162 | From: djb@silverton.berkeley.edu (D. J. Bernstein) | ||
| 163 | .br | ||
| 164 | To: god@heaven.af.mil | ||
| 165 | .br | ||
| 166 | |||
| 167 | .br | ||
| 168 | >From now through August I'll be doing beta testing. | ||
| 169 | .br | ||
| 170 | Thanks for your interest. | ||
| 171 | .EE | ||
| 172 | |||
| 173 | was quoted in the original message. | ||
| 174 | An | ||
| 175 | .I mboxrd | ||
| 176 | reader will always strip off the quoting. | ||
| 177 | |||
| 178 | .I mboxcl | ||
| 179 | format is like | ||
| 180 | .I mboxo | ||
| 181 | format, but includes a Content-Length field with the | ||
| 182 | number of bytes in the message. | ||
| 183 | .I mboxcl2 | ||
| 184 | format is like | ||
| 185 | .I mboxcl | ||
| 186 | but has no | ||
| 187 | .B >From | ||
| 188 | quoting. | ||
| 189 | These formats are used by SVR4 mailers. | ||
| 190 | .I mboxcl2 | ||
| 191 | cannot be read safely by | ||
| 192 | .I mboxrd | ||
| 193 | readers. | ||
| 194 | .SH "UNSPECIFIED DETAILS" | ||
| 195 | There are many locking mechanisms for | ||
| 196 | .I mbox | ||
| 197 | files. | ||
| 198 | .B qmail-local | ||
| 199 | always uses | ||
| 200 | .B flock | ||
| 201 | on systems that have it, otherwise | ||
| 202 | .BR lockf . | ||
| 203 | |||
| 204 | The delivery date in a | ||
| 205 | .B From_ | ||
| 206 | line does not specify a time zone. | ||
| 207 | .B qmail-local | ||
| 208 | always creates the delivery date in GMT | ||
| 209 | so that | ||
| 210 | .I mbox | ||
| 211 | files can be safely transported from one time zone to another. | ||
| 212 | |||
| 213 | If the mtime on a nonempty | ||
| 214 | .I mbox | ||
| 215 | file is greater than the atime, | ||
| 216 | the file has new mail. | ||
| 217 | If the mtime is smaller than the atime, | ||
| 218 | the new mail has been read. | ||
| 219 | If the atime equals the mtime, | ||
| 220 | there is no way to tell whether the file has new mail, | ||
| 221 | since | ||
| 222 | .B qmail-local | ||
| 223 | takes much less than a second to run. | ||
| 224 | One solution is for a mail reader to artificially set the | ||
| 225 | atime to the mtime plus 1. | ||
| 226 | Then the file has new mail if and only if the atime is | ||
| 227 | less than or equal to the mtime. | ||
| 228 | |||
| 229 | Some mail readers place | ||
| 230 | .B Status | ||
| 231 | fields in each message to indicate which messages have been read. | ||
| 232 | .SH "SEE ALSO" | ||
| 233 | maildir(5), | ||
| 234 | qmail-header(5), | ||
| 235 | qmail-local(8) | ||
