			    Sendmail Version 8
			Frequently Asked Questions
		         Version 8.4 of 4/20/94


This FAQ is specific to Version 8 of sendmail.  Other questions,
particularly regarding compilation and configuration, are answered
in src/READ_ME and cf/README.

----------------------------------------------------------------------
  * Where can I get Version 8?

	Via anonymous FTP from FTP.CS.Berkeley.EDU in /ucb/sendmail.
----------------------------------------------------------------------
  * What are the differences between Version 8 and other versions?

	See doc/changes/changes.me in the sendmail distribution.
----------------------------------------------------------------------
  * What happened to sendmail 6.x and 7.x?

	When I released a new version of sendmail, I changed it to
	Release 6.  Development continued in that tree until 4.4BSD
	was released, when everything on the 4.4 tape was set to be
	version 8.1.  Version 7.x never existed.
----------------------------------------------------------------------
  * Version 8 requires a new version of "make".  Where can I get this?

	Actually, Version 8 does not require a new version of "make".
	It includes a collection of Makefiles for different architectures,
	only one or two of which require the new "make".  If you are
	porting to a new architecture, start with Makefile.dist.

	If you really do want the new make, it is available on any of
	the BSD Net2 or 4.4-Lite distribution sites.  These include:

		ftp.uu.net		/systems/unix/bsd-sources
		gatekeeper.dec.com	/.0/BSD/net2
		ucquais.cba.uc.edu	/pub/net2
		ftp.luth.se		/pub/unix/4.3bsd/net2

	Diffs and instructions for building this version of make under
	SunOS 4.1.x are available on ftp.css.itd.umich.edu in
	/pub/systems/sun/Net2-make.sun4.diff.Z.
----------------------------------------------------------------------
  * What macro package do I use to format the V8 man pages?

	The BSD group switched over the the ``mandoc'' macros for
	the 4.4 release.  These include more hooks designed for
	hypertext handling.  However, new man pages won't format
	under the old man macros.  Fortunately, old man pages will
	format under the new mandoc macros.

	Get the new macros with the BSD Net2 or 4.4-Lite release.

	This macro set is also available with newer versions of groff.
----------------------------------------------------------------------
  * What books are available describing sendmail?

	There is one book available devoted to sendmail:

	    Costales, Allman, and Rickert, _Sendmail_.  O'Reilly &
		Associates.

	Several books have sendmail chapters, for example:

	    Nemeth, Snyder, and Seebass, _Unix System Administration
		Handbook_.  Prentice-Hall.
	    Carl-Mitchell and Quarterman, _Practical Internetworking with
		TCP/IP and UNIX_.  Addison-Wesley.
	    Hunt, _TCP/IP Network Administration_.  O'Reilly & Associates.

	Another book about sendmail is due out "soon":

	    Avolio & Vixie, _Sendmail Theory and Practice_.  Digital
		Press (release date unknown).
----------------------------------------------------------------------
  * How do I make all my addresses appear to be from a single host?

	Using the V8 configuration macros, use:

		MASQUERADE_AS(my.dom.ain)

	This will cause all addresses to be sent out as being from
	the indicated domain.
----------------------------------------------------------------------
  * How do I rewrite my From: lines to read ``First_Last@My.Domain''?

	There are a couple of ways of doing this.  This describes using
	the "user database" code.  This is still experimental, and was
	intended for a different purpose -- however, it does work
	with a bit of care.  It does require that you have the Berkeley
	"db" package installed (it won't work with DBM).

	First, create your input file.  This should have lines like:

		loginname:mailname	First_Last
		First_Last:maildrop	loginname

	Install it in (say) /etc/userdb.  Create the database:

		makemap btree /etc/userdb.db < /etc/userdb

	You can then create a config file that uses this.  You will
	have to include the following in your .mc file:

		define(confUSERDB_SPEC, /etc/userdb.db)
		FEATURE(notsticky)
----------------------------------------------------------------------
  * So what was the user database feature intended for?

	The intent was to have all information for a given user (where
	the user is the unique login name, not an inherently non-unique
	full name) in one place.  This would include phone numbers,
	addresses, and so forth.  The "maildrop" feature is because
	Berkeley does not use a centralized mail server (there are a
	number of reasons for this that are mostly historic), and so
	we need to know where each user gets his or her mail delivered --
	i.e., the mail drop.

	We are in the process of setting up our environment so that
	mail sent to an unqualified "name" goes to that person's
	preferred maildrop; mail sent to "name@host" goes to that
	host.  The purpose of "FEATURE(notsticky)" is to cause
	"name@host" to be looked up in the user database for delivery
	to the maildrop.
----------------------------------------------------------------------
  * Why are you so hostile to using full names for e-mail addresses?

	Because full names are not unique.  For example, the computer
	community has two Andy Tannenbaums and two Peter Deutsches.
	At one time, Bell Labs had two Stephen R. Bournes with offices
	a few doors apart.  You can create alternative addresses
	(e.g., Stephen_R_Bourne_2), but that's even worse -- which
	one of them has to have their name desecrated in this way?
	And you can bet that they will get most of the other person's
	email.

	So called "full names" are just longer versions of unique
	names.  Rather that lulling people into a sense of security,
	I'd rather that it be clear that these handles are arbitrary.
	People should use good user agents that have alias mappings
	so that they can attach arbitrary names for their personal
	use to those with whom they correspond.

	Even worse is fuzzy matching in e-mail -- this can make good
	addresses turn bad.  For example, I'm currently (to the best
	of my knowledge) the only ``Allman'' at Berkeley, so mail
	sent to "Allman@Berkeley.EDU" should get to me.  But if
	another Allman ever appears, this address could suddenly
	become ambiguous.  I've been the only Allman at Berkeley for
	over fifteen years -- to suddenly have this "good address"
	bounce mail because it is ambiguous would be a heinous wrong.

	Finger services should be as fuzzy as possible.  Mail services
	should be unique.
----------------------------------------------------------------------
  * When I use sendmail V8 with a Sun config file I get lines like:

	/etc/sendmail.cf: line 273: replacement $3 out of bounds

    the line in question reads:

	R$*<@$%y>$*		$1<@$2.LOCAL>$3			user@ether

    what does this mean?  How do I fix it?

	V8 doesn't recognize the Sun "$%y" syntax, so as far as it
	is concerned, there is only a $1 and a $2 (but no $3) in this
	line.  Read Rick McCarty's paper on "Converting Standard Sun
	Config Files to Sendmail Version 8", in the contrib directory
	(file "converting.sun.configs") on the sendmail distribution
	for a full discussion of how to do this.
----------------------------------------------------------------------
  * Should I use a wildcard MX for my domain?

	If at all possible, no.

	Wildcard MX records have lots of semantic "gotcha"s.  For
	example, they will match a host "unknown.your.domain" -- if
	you don't explicitly test for unknown hosts in your domain,
	you will get "config error: mail loops back to myself"
	errors.
----------------------------------------------------------------------
  * I'm connected to the network via a SLIP link.  Sometimes my sendmail
    process hangs (although it looks like part of the message has been
    transfered).  Everything else works.  What's wrong?

	Most likely, the problem isn't sendmail at all, but the low
	level network connection.  It's important that the MTU (Maximum
	Transfer Unit) for the SLIP connection be set properly at both
	ends.  If they disagree, large packets will be trashed and
	the connection will hang.
----------------------------------------------------------------------
  * I just upgraded to 8.x and suddenly I'm getting messages in my
    syslog of the form "collect: I/O error on connection".  What is
    going wrong?

    	Nothing.  This is just a diagnosis of a condition that had
    	not been diagnosed before.  If you are getting a lot of these
    	from a single host, there is probably some incompatibility
    	between 8.x and that host.  If you get a lot of them in general,
    	you may have network problems that are causing connections to
    	get reset.
----------------------------------------------------------------------
  * How can I get sendmail to deliver local mail to $HOME/.mail
    instead of into /usr/spool/mail (or /usr/mail)?

	This is a local mailer issue, not a sendmail issue.  Either
	modify your local mailer (source code will be required) or
	change the program called in the "local" mailer configuration
	description to be a new program that does this local delivery.
	I understand that "procmail" works well, although I haven't
	used it myself.

	You might be interested in reading the paper ``HLFSD: Delivering
	Email to your $HOME'' available in the Proceedings of the
	USENIX System Administration (LISA VII) Conference (November
	1993).  This is also available via public FTP from
	ftp.cs.columbia.edu:/pub/hlfsd/{README.hlfsd,hlfsd.ps}.
----------------------------------------------------------------------
  * Under V8, the "From " header gets mysteriously munged when I send
    to an alias.

	``It's not a bug, it's a feature.''  This happens when you have
	a "owner-list" alias and you send to "list".  V8 propogates the
	owner information into the envelope sender field (which appears
	as the "From " header on UNIX mail or as the Return-Path: header)
	so that downstream errors are properly returned to the mailing
	list owner instead of to the sender.  In order to make this
	appear as sensible as possible to end users, I recommend making
	the owner point to a "request" address -- for example:

		list:		:include:/path/name/list.list
		owner-list:	list-request
		list-request:	eric

	This will make message sent to "list" come out as being
	"From list-request" instead of "From eric".
----------------------------------------------------------------------
  * There are four UUCP mailers listed in the configuration files.
    Which one should I use?

	The choice is partly a matter of local preferences and what is
	running at the other end of your UUCP connection.  Unlike good
	protocols that define what will go over the wire, UUCP uses
	the policy that you should do what is right for the other end;
	if they change, you have to change.  This makes it hard to
	do the right thing, and discourages people from updating their
	software.  In general, if you can avoid UUCP, please do.

	If you can't avoid it, you'll have to find the version that is
	closest to what the other end accepts.  Following is a summary
	of the UUCP mailers available.

	uucp-old (obsolete name: "uucp")
	  This is the oldest, the worst (but the closest to UUCP) way of
	  sending messages accros UUCP connections.  It does bangify
	  everything and prepends $U (your UUCP name) to the sender's
	  address (which can already be a bang path itself).  It can
	  only send to one address at a time, so it spends a lot of
	  time copying duplicates of messages.  Avoid this if at all
	  possible.

	uucp-new (obsolete name: "suucp")
	  The same as above, except that it assumes that in one rmail
	  command you can specify several recipients.  It still has a
	  lot of other problems.

	uucp-dom
	  This UUCP mailer keeps everything as domain addresses.
	  Basically, it uses the SMTP mailer rewriting rules.

	  Unfortunately, a lot of UUCP mailer transport agents require
	  bangified addresses in the envelope, although you can use
	  domain-based addresses in the message header.  (The envelope
	  shows up as the From_ line on UNIX mail.)  So....

	uucp-uudom
	  This is a cross between uucp-new (for the envelope addresses)
	  and uucp-dom (for the header addresses).  It bangifies the
	  envelope sender (From_ line in messages) without adding the
	  local hostname, unless there is no host name on the address
	  at all (e.g., "wolf") or the host component is a UUCP host name
	  instead of a domain name ("somehost!wolf" instead of
	  "some.dom.ain!wolf").

	Examples:

	We are on host grasp.insa-lyon.fr (UUCP host name "grasp").  The
	following summarizes the sender rewriting for various mailers.

	Mailer          sender		rewriting in the envelope
	------		------		-------------------------
	uucp-{old,new}	wolf		grasp!wolf
	uucp-dom	wolf		wolf@grasp.insa-lyon.fr
	uucp-uudom	wolf		grasp.insa-lyon.fr!wolf

	uucp-{old,new}	wolf@fr.net	grasp!fr.net!wolf
	uucp-dom	wolf@fr.net	wolf@fr.net
	uucp-uudom	wolf@fr.net	fr.net!wolf

	uucp-{old,new}	somehost!wolf	grasp!somehost!wolf
	uucp-dom	somehost!wolf	somehost!wolf@grasp.insa-lyon.fr
	uucp-uudom	somehost!wolf	grasp.insa-lyon.fr!somehost!wolf
----------------------------------------------------------------------
  * I'm trying to to get my mail to go into queue only mode, and it
    delivers the mail interactively anyway.  (Or, I'm trying to use
    the "don't deliver to expensive mailer" flag, and it doesn't
    delivers the mail interactively anyway.)  I can see it does it:
    here's the output of "sendmail -v foo@somehost" (or Mail -v or
    equivalent).

	The -v flag to sendmail (which is implied by the -v flag to
	Mail and other programs in that family) tells sendmail to
	watch the transaction.  Since you have explicitly asked to
	see what's going on, it assumes that you do not want to to
	auto-queue, and turns that feature off.  Remove the -v flag
	and use a "tail -f" of the log instead to see what's going on.

	If you are trying to use the "don't deliver to expensive mailer"
	flag (mailer flag "e"), be sure you also turn on global option
	"c" -- otherwise it ignores the mailer flag.
----------------------------------------------------------------------
  * I'm getting "Local configuration error" messages, such as:

	553 relay.domain.net config error: mail loops back to myself
	554 <user@domain.net>... Local configuration error

    How can I solve this problem?

	You have asked mail to the domain (e.g., domain.net) to be
	forwarded to a specific host (in this case, relay.domain.net)
	by using an MX record, but the relay machine doesn't recognize
	itself as domain.net.  Add domain.net to /etc/sendmail.cw
	(if you are using FEATURE(use_cw_file)) or add "Cw domain.net"
	to your configuration file.
----------------------------------------------------------------------
  * I want to run Sendmail version 8 on my DEC system, but you don't
    have MAIL11V3 support in sendmail.  How do I handle this?

	Get Paul Vixie's reimplementation of the mail11 protocol
	from gatekeeper.dec.com in /pub/DEC/gwtools.
----------------------------------------------------------------------
