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