1 Sendmail Version 8 2 Frequently Asked Questions 3 Version 8.4 of 04/20/94 4 5 6This FAQ is specific to Version 8 of sendmail. Other questions, 7particularly regarding compilation and configuration, are answered 8in src/READ_ME and cf/README. 9 10---------------------------------------------------------------------- 11 * Where can I get Version 8? 12 13 Via anonymous FTP from FTP.CS.Berkeley.EDU in /ucb/sendmail. 14---------------------------------------------------------------------- 15 * What are the differences between Version 8 and other versions? 16 17 See doc/changes/changes.me in the sendmail distribution. 18---------------------------------------------------------------------- 19 * What happened to sendmail 6.x and 7.x? 20 21 When I released a new version of sendmail, I changed it to 22 Release 6. Development continued in that tree until 4.4BSD 23 was released, when everything on the 4.4 tape was set to be 24 version 8.1. Version 7.x never existed. 25---------------------------------------------------------------------- 26 * Version 8 requires a new version of "make". Where can I get this? 27 28 Actually, Version 8 does not require a new version of "make". 29 It includes a collection of Makefiles for different architectures, 30 only one or two of which require the new "make". If you are 31 porting to a new architecture, start with Makefile.dist. 32 33 If you really do want the new make, it is available on any of 34 the BSD Net2 or 4.4-Lite distribution sites. These include: 35 36 ftp.uu.net /systems/unix/bsd-sources 37 gatekeeper.dec.com /.0/BSD/net2 38 ucquais.cba.uc.edu /pub/net2 39 ftp.luth.se /pub/unix/4.3bsd/net2 40 41 Diffs and instructions for building this version of make under 42 SunOS 4.1.x are available on ftp.css.itd.umich.edu in 43 /pub/systems/sun/Net2-make.sun4.diff.Z. 44---------------------------------------------------------------------- 45 * What macro package do I use to format the V8 man pages? 46 47 The BSD group switched over the the ``mandoc'' macros for 48 the 4.4 release. These include more hooks designed for 49 hypertext handling. However, new man pages won't format 50 under the old man macros. Fortunately, old man pages will 51 format under the new mandoc macros. 52 53 Get the new macros with the BSD Net2 or 4.4-Lite release. 54 55 This macro set is also available with newer versions of groff. 56---------------------------------------------------------------------- 57 * What books are available describing sendmail? 58 59 There is one book available devoted to sendmail: 60 61 Costales, Allman, and Rickert, _Sendmail_. O'Reilly & 62 Associates. 63 64 Several books have sendmail chapters, for example: 65 66 Nemeth, Snyder, and Seebass, _Unix System Administration 67 Handbook_. Prentice-Hall. 68 Carl-Mitchell and Quarterman, _Practical Internetworking with 69 TCP/IP and UNIX_. Addison-Wesley. 70 Hunt, _TCP/IP Network Administration_. O'Reilly & Associates. 71 72 Another book about sendmail is due out "soon": 73 74 Avolio & Vixie, _Sendmail Theory and Practice_. Digital 75 Press (release date unknown). 76---------------------------------------------------------------------- 77 * How do I make all my addresses appear to be from a single host? 78 79 Using the V8 configuration macros, use: 80 81 MASQUERADE_AS(my.dom.ain) 82 83 This will cause all addresses to be sent out as being from 84 the indicated domain. 85---------------------------------------------------------------------- 86 * How do I rewrite my From: lines to read ``First_Last@My.Domain''? 87 88 There are a couple of ways of doing this. This describes using 89 the "user database" code. This is still experimental, and was 90 intended for a different purpose -- however, it does work 91 with a bit of care. It does require that you have the Berkeley 92 "db" package installed (it won't work with DBM). 93 94 First, create your input file. This should have lines like: 95 96 loginname:mailname First_Last 97 First_Last:maildrop loginname 98 99 Install it in (say) /etc/userdb. Create the database: 100 101 makemap btree /etc/userdb.db < /etc/userdb 102 103 You can then create a config file that uses this. You will 104 have to include the following in your .mc file: 105 106 define(confUSERDB_SPEC, /etc/userdb.db) 107 FEATURE(notsticky) 108---------------------------------------------------------------------- 109 * So what was the user database feature intended for? 110 111 The intent was to have all information for a given user (where 112 the user is the unique login name, not an inherently non-unique 113 full name) in one place. This would include phone numbers, 114 addresses, and so forth. The "maildrop" feature is because 115 Berkeley does not use a centralized mail server (there are a 116 number of reasons for this that are mostly historic), and so 117 we need to know where each user gets his or her mail delivered -- 118 i.e., the mail drop. 119 120 We are in the process of setting up our environment so that 121 mail sent to an unqualified "name" goes to that person's 122 preferred maildrop; mail sent to "name@host" goes to that 123 host. The purpose of "FEATURE(notsticky)" is to cause 124 "name@host" to be looked up in the user database for delivery 125 to the maildrop. 126---------------------------------------------------------------------- 127 * Why are you so hostile to using full names for e-mail addresses? 128 129 Because full names are not unique. For example, the computer 130 community has two Andy Tannenbaums and two Peter Deutsches. 131 At one time, Bell Labs had two Stephen R. Bournes with offices 132 a few doors apart. You can create alternative addresses 133 (e.g., Stephen_R_Bourne_2), but that's even worse -- which 134 one of them has to have their name desecrated in this way? 135 And you can bet that they will get most of the other person's 136 email. 137 138 So called "full names" are just longer versions of unique 139 names. Rather that lulling people into a sense of security, 140 I'd rather that it be clear that these handles are arbitrary. 141 People should use good user agents that have alias mappings 142 so that they can attach arbitrary names for their personal 143 use to those with whom they correspond. 144 145 Even worse is fuzzy matching in e-mail -- this can make good 146 addresses turn bad. For example, I'm currently (to the best 147 of my knowledge) the only ``Allman'' at Berkeley, so mail 148 sent to "Allman@Berkeley.EDU" should get to me. But if 149 another Allman ever appears, this address could suddenly 150 become ambiguous. I've been the only Allman at Berkeley for 151 over fifteen years -- to suddenly have this "good address" 152 bounce mail because it is ambiguous would be a heinous wrong. 153 154 Finger services should be as fuzzy as possible. Mail services 155 should be unique. 156---------------------------------------------------------------------- 157 * When I use sendmail V8 with a Sun config file I get lines like: 158 159 /etc/sendmail.cf: line 273: replacement $3 out of bounds 160 161 the line in question reads: 162 163 R$*<@$%y>$* $1<@$2.LOCAL>$3 user@ether 164 165 what does this mean? How do I fix it? 166 167 V8 doesn't recognize the Sun "$%y" syntax, so as far as it 168 is concerned, there is only a $1 and a $2 (but no $3) in this 169 line. Read Rick McCarty's paper on "Converting Standard Sun 170 Config Files to Sendmail Version 8", in the contrib directory 171 (file "converting.sun.configs") on the sendmail distribution 172 for a full discussion of how to do this. 173---------------------------------------------------------------------- 174 * Should I use a wildcard MX for my domain? 175 176 If at all possible, no. 177 178 Wildcard MX records have lots of semantic "gotcha"s. For 179 example, they will match a host "unknown.your.domain" -- if 180 you don't explicitly test for unknown hosts in your domain, 181 you will get "config error: mail loops back to myself" 182 errors. 183---------------------------------------------------------------------- 184 * I'm connected to the network via a SLIP link. Sometimes my sendmail 185 process hangs (although it looks like part of the message has been 186 transfered). Everything else works. What's wrong? 187 188 Most likely, the problem isn't sendmail at all, but the low 189 level network connection. It's important that the MTU (Maximum 190 Transfer Unit) for the SLIP connection be set properly at both 191 ends. If they disagree, large packets will be trashed and 192 the connection will hang. 193---------------------------------------------------------------------- 194 * I just upgraded to 8.x and suddenly I'm getting messages in my 195 syslog of the form "collect: I/O error on connection". What is 196 going wrong? 197 198 Nothing. This is just a diagnosis of a condition that had 199 not been diagnosed before. If you are getting a lot of these 200 from a single host, there is probably some incompatibility 201 between 8.x and that host. If you get a lot of them in general, 202 you may have network problems that are causing connections to 203 get reset. 204---------------------------------------------------------------------- 205 * How can I get sendmail to deliver local mail to $HOME/.mail 206 instead of into /usr/spool/mail (or /usr/mail)? 207 208 This is a local mailer issue, not a sendmail issue. Either 209 modify your local mailer (source code will be required) or 210 change the program called in the "local" mailer configuration 211 description to be a new program that does this local delivery. 212 I understand that "procmail" works well, although I haven't 213 used it myself. 214 215 You might be interested in reading the paper ``HLFSD: Delivering 216 Email to your $HOME'' available in the Proceedings of the 217 USENIX System Administration (LISA VII) Conference (November 218 1993). This is also available via public FTP from 219 ftp.cs.columbia.edu:/pub/hlfsd/{README.hlfsd,hlfsd.ps}. 220---------------------------------------------------------------------- 221 * Under V8, the "From " header gets mysteriously munged when I send 222 to an alias. 223 224 ``It's not a bug, it's a feature.'' This happens when you have 225 a "owner-list" alias and you send to "list". V8 propogates the 226 owner information into the envelope sender field (which appears 227 as the "From " header on UNIX mail or as the Return-Path: header) 228 so that downstream errors are properly returned to the mailing 229 list owner instead of to the sender. In order to make this 230 appear as sensible as possible to end users, I recommend making 231 the owner point to a "request" address -- for example: 232 233 list: :include:/path/name/list.list 234 owner-list: list-request 235 list-request: eric 236 237 This will make message sent to "list" come out as being 238 "From list-request" instead of "From eric". 239---------------------------------------------------------------------- 240 * There are four UUCP mailers listed in the configuration files. 241 Which one should I use? 242 243 The choice is partly a matter of local preferences and what is 244 running at the other end of your UUCP connection. Unlike good 245 protocols that define what will go over the wire, UUCP uses 246 the policy that you should do what is right for the other end; 247 if they change, you have to change. This makes it hard to 248 do the right thing, and discourages people from updating their 249 software. In general, if you can avoid UUCP, please do. 250 251 If you can't avoid it, you'll have to find the version that is 252 closest to what the other end accepts. Following is a summary 253 of the UUCP mailers available. 254 255 uucp-old (obsolete name: "uucp") 256 This is the oldest, the worst (but the closest to UUCP) way of 257 sending messages accros UUCP connections. It does bangify 258 everything and prepends $U (your UUCP name) to the sender's 259 address (which can already be a bang path itself). It can 260 only send to one address at a time, so it spends a lot of 261 time copying duplicates of messages. Avoid this if at all 262 possible. 263 264 uucp-new (obsolete name: "suucp") 265 The same as above, except that it assumes that in one rmail 266 command you can specify several recipients. It still has a 267 lot of other problems. 268 269 uucp-dom 270 This UUCP mailer keeps everything as domain addresses. 271 Basically, it uses the SMTP mailer rewriting rules. 272 273 Unfortunately, a lot of UUCP mailer transport agents require 274 bangified addresses in the envelope, although you can use 275 domain-based addresses in the message header. (The envelope 276 shows up as the From_ line on UNIX mail.) So.... 277 278 uucp-uudom 279 This is a cross between uucp-new (for the envelope addresses) 280 and uucp-dom (for the header addresses). It bangifies the 281 envelope sender (From_ line in messages) without adding the 282 local hostname, unless there is no host name on the address 283 at all (e.g., "wolf") or the host component is a UUCP host name 284 instead of a domain name ("somehost!wolf" instead of 285 "some.dom.ain!wolf"). 286 287 Examples: 288 289 We are on host grasp.insa-lyon.fr (UUCP host name "grasp"). The 290 following summarizes the sender rewriting for various mailers. 291 292 Mailer sender rewriting in the envelope 293 ------ ------ ------------------------- 294 uucp-{old,new} wolf grasp!wolf 295 uucp-dom wolf wolf@grasp.insa-lyon.fr 296 uucp-uudom wolf grasp.insa-lyon.fr!wolf 297 298 uucp-{old,new} wolf@fr.net grasp!fr.net!wolf 299 uucp-dom wolf@fr.net wolf@fr.net 300 uucp-uudom wolf@fr.net fr.net!wolf 301 302 uucp-{old,new} somehost!wolf grasp!somehost!wolf 303 uucp-dom somehost!wolf somehost!wolf@grasp.insa-lyon.fr 304 uucp-uudom somehost!wolf grasp.insa-lyon.fr!somehost!wolf 305---------------------------------------------------------------------- 306 * I'm trying to to get my mail to go into queue only mode, and it 307 delivers the mail interactively anyway. (Or, I'm trying to use 308 the "don't deliver to expensive mailer" flag, and it doesn't 309 delivers the mail interactively anyway.) I can see it does it: 310 here's the output of "sendmail -v foo@somehost" (or Mail -v or 311 equivalent). 312 313 The -v flag to sendmail (which is implied by the -v flag to 314 Mail and other programs in that family) tells sendmail to 315 watch the transaction. Since you have explicitly asked to 316 see what's going on, it assumes that you do not want to to 317 auto-queue, and turns that feature off. Remove the -v flag 318 and use a "tail -f" of the log instead to see what's going on. 319 320 If you are trying to use the "don't deliver to expensive mailer" 321 flag (mailer flag "e"), be sure you also turn on global option 322 "c" -- otherwise it ignores the mailer flag. 323---------------------------------------------------------------------- 324 * I'm getting "Local configuration error" messages, such as: 325 326 553 relay.domain.net config error: mail loops back to myself 327 554 <user@domain.net>... Local configuration error 328 329 How can I solve this problem? 330 331 You have asked mail to the domain (e.g., domain.net) to be 332 forwarded to a specific host (in this case, relay.domain.net) 333 by using an MX record, but the relay machine doesn't recognize 334 itself as domain.net. Add domain.net to /etc/sendmail.cw 335 (if you are using FEATURE(use_cw_file)) or add "Cw domain.net" 336 to your configuration file. 337---------------------------------------------------------------------- 338 * I want to run Sendmail version 8 on my DEC system, but you don't 339 have MAIL11V3 support in sendmail. How do I handle this? 340 341 Get Paul Vixie's reimplementation of the mail11 protocol 342 from gatekeeper.dec.com in /pub/DEC/gwtools. 343---------------------------------------------------------------------- 344