xref: /original-bsd/usr.sbin/sendmail/FAQ (revision e58c8952)
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