| 1 | .TH envelopes 5 |
| 2 | .SH "NAME" |
| 3 | envelopes \- sender/recipient lists attached to messages |
| 4 | .SH "INTRODUCTION" |
| 5 | Electronic mail messages are delivered in |
| 6 | .IR envelopes . |
| 7 | |
| 8 | An envelope lists a |
| 9 | .I sender |
| 10 | and one or more |
| 11 | .IR recipients . |
| 12 | Usually these |
| 13 | envelope addresses are the same |
| 14 | as the addresses listed in the message header: |
| 15 | |
| 16 | .EX |
| 17 | (envelope) from djb to root |
| 18 | .br |
| 19 | From: djb |
| 20 | .br |
| 21 | To: root |
| 22 | .EE |
| 23 | |
| 24 | In more complicated situations, though, |
| 25 | the envelope addresses may differ from the header addresses. |
| 26 | .SH "ENVELOPE EXAMPLES" |
| 27 | When a message is delivered to |
| 28 | several people at different locations, |
| 29 | it is first photocopied |
| 30 | and placed into several envelopes: |
| 31 | |
| 32 | .EX |
| 33 | (envelope) from djb to root |
| 34 | .br |
| 35 | From: djb Copy #1 of message |
| 36 | .br |
| 37 | To: root, god@brl.mil |
| 38 | .EE |
| 39 | |
| 40 | .EX |
| 41 | (envelope) from djb to god@brl.mil |
| 42 | .br |
| 43 | From: djb Copy #2 of message |
| 44 | .br |
| 45 | To: root, god@brl.mil |
| 46 | .EE |
| 47 | |
| 48 | When a message is delivered |
| 49 | to several people at the same location, |
| 50 | the sender doesn't have to photocopy it. |
| 51 | He can instead stuff it into |
| 52 | one envelope with several addresses; |
| 53 | the recipients will make the photocopy: |
| 54 | |
| 55 | .EX |
| 56 | (envelope) from djb to god@brl.mil, angel@brl.mil |
| 57 | .br |
| 58 | From: djb |
| 59 | .br |
| 60 | To: god@brl.mil, angel@brl.mil, joe, frde |
| 61 | .EE |
| 62 | |
| 63 | Bounced mail is sent back to the envelope sender address. |
| 64 | The bounced mail doesn't list an envelope sender, |
| 65 | so bounce loops are impossible: |
| 66 | |
| 67 | .EX |
| 68 | (envelope) from <> to djb |
| 69 | .br |
| 70 | From: MAILER-DAEMON |
| 71 | .br |
| 72 | To: djb |
| 73 | .br |
| 74 | Subject: unknown user frde |
| 75 | .EE |
| 76 | |
| 77 | The recipient of a message may make another copy |
| 78 | and forward it in a new envelope: |
| 79 | |
| 80 | .EX |
| 81 | (envelope) from djb to joe |
| 82 | .br |
| 83 | From: djb Original message |
| 84 | .br |
| 85 | To: joe |
| 86 | .EE |
| 87 | |
| 88 | .EX |
| 89 | (envelope) from joe to fred |
| 90 | .br |
| 91 | From: djb Forwarded message |
| 92 | .br |
| 93 | To: joe |
| 94 | .EE |
| 95 | |
| 96 | A mailing list works almost the same way: |
| 97 | |
| 98 | .EX |
| 99 | (envelope) from djb to sos-list |
| 100 | .br |
| 101 | From: djb Original message |
| 102 | .br |
| 103 | To: sos-list |
| 104 | .EE |
| 105 | |
| 106 | .EX |
| 107 | (envelope) from sos-owner to god@brl.mil |
| 108 | .br |
| 109 | From: djb Forwarded message |
| 110 | .br |
| 111 | To: sos-list to recipient #1 |
| 112 | .EE |
| 113 | |
| 114 | .EX |
| 115 | (envelope) from sos-owner to frde |
| 116 | .br |
| 117 | From: djb Forwarded message |
| 118 | .br |
| 119 | To: sos-list to recipient #2 |
| 120 | .EE |
| 121 | |
| 122 | Notice that the mailing list is set up |
| 123 | to replace the envelope sender with something new, |
| 124 | .BR sos-owner . |
| 125 | So bounces will come back to |
| 126 | .BR sos-owner : |
| 127 | |
| 128 | .EX |
| 129 | (envelope) from <> to sos-owner |
| 130 | .br |
| 131 | From: MAILER-DAEMON |
| 132 | .br |
| 133 | To: sos-owner |
| 134 | .br |
| 135 | Subject: unknown user frde |
| 136 | .EE |
| 137 | |
| 138 | It's a good idea to set up an extra address, |
| 139 | .BR sos-owner , |
| 140 | like this: |
| 141 | the original envelope sender (\fBdjb\fP) |
| 142 | has no way to fix bad |
| 143 | .B sos-list |
| 144 | addresses, |
| 145 | and of course bounces must not be sent to |
| 146 | .B sos-list |
| 147 | itself. |
| 148 | .SH "HOW ENVELOPE ADDRESSES ARE STORED" |
| 149 | Envelope sender and envelope recipient addresses |
| 150 | are transmitted and recorded in several ways. |
| 151 | |
| 152 | When a user injects mail through |
| 153 | .BR qmail-inject , |
| 154 | he can supply a |
| 155 | .B Return-Path |
| 156 | line or a |
| 157 | .B \-f |
| 158 | option for the envelope sender; |
| 159 | by default the envelope sender is his login name. |
| 160 | The envelope recipient addresses can be taken |
| 161 | from the command line or from various header fields, |
| 162 | depending on the options to |
| 163 | .BR qmail-inject . |
| 164 | Similar comments apply to |
| 165 | .BR sendmail . |
| 166 | |
| 167 | When a message is transferred from one machine to another through SMTP, |
| 168 | the envelope sender is given in a |
| 169 | .B MAIL FROM |
| 170 | command, |
| 171 | the envelope recipients are given in |
| 172 | .B RCPT TO |
| 173 | commands, |
| 174 | and the message is supplied separately by a |
| 175 | .B DATA |
| 176 | command. |
| 177 | |
| 178 | When a message is delivered by |
| 179 | .B qmail |
| 180 | to a single local recipient, |
| 181 | .B qmail-local |
| 182 | records the recipient in |
| 183 | .B Delivered-To |
| 184 | and the envelope sender in |
| 185 | .BR Return-Path . |
| 186 | It uses |
| 187 | .B Delivered-To |
| 188 | to detect mail forwarding loops. |
| 189 | |
| 190 | .B sendmail |
| 191 | normally records the envelope sender in |
| 192 | .BR Return-Path . |
| 193 | It does not record envelope recipient addresses, |
| 194 | on the theory that they are redundant: |
| 195 | you received the mail, |
| 196 | so you must have been one of the envelope recipients. |
| 197 | |
| 198 | Note that, |
| 199 | if the header doesn't have any recipient addresses, |
| 200 | .B sendmail |
| 201 | will move envelope recipient addresses back into the header. |
| 202 | This situation occurs if all addresses were originally listed as |
| 203 | .BR Bcc , |
| 204 | since |
| 205 | .B Bcc |
| 206 | is automatically removed. |
| 207 | When |
| 208 | .B sendmail |
| 209 | sees this, it creates a new |
| 210 | .B Apparently-To |
| 211 | header field with the envelope recipient addresses. |
| 212 | This has the strange effect that each blind-carbon-copy recipient will see |
| 213 | a list of all recipients on the same machine. |
| 214 | |
| 215 | When a message is stored in |
| 216 | .B mbox |
| 217 | format, |
| 218 | the envelope sender is recorded at the top of the message |
| 219 | as a UUCP-style |
| 220 | .B From |
| 221 | (no colon) line. |
| 222 | Note that this line is less reliable than the |
| 223 | .B Return-Path |
| 224 | line added by |
| 225 | .B qmail-local |
| 226 | or |
| 227 | .B sendmail\fP. |
| 228 | .SH "SEE ALSO" |
| 229 | qmail-header(5), |
| 230 | qmail-local(8), |
| 231 | qmail-inject(8) |