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