[comp.mail.elm] Handling return addresses

rob@pbhyf.PacBell.COM (Rob Bernardo) (11/19/88)

I am having trouble understanding how the ELM alias system works 
with regards to the optimizing of return addresses.

I'm not talking about that alias database that each ELM user has, but 
rather the use of the two files that the Configuration program refers 
to as the pathalias database and the domains database. (I don't 
remember how the ELM 2.1 Configuration script deals with this, but I'm 
sure that it at least covertly looks for these files. The ELM 2.2 
Configuration program asks explcit questions about these files.) 

On the system where I develop ELM we have two pathalias type databases.
One is a flat nmail.paths file, and the other is a DBM style pair  of
files: palias.pag and palias.dir. ELM can use either for the pathalias
database. However we don't have a domains database at all. [The way our
mailing agent works (an enhanced rmail) is that if you give it a
UUCP style address (uucp nodes separated by '!'s) it doesn't touch
the address. But if you give it an internet style address (using '@'
and '%'), it will subsitute it with an expanded UUCP style address,
using the pathalias database. This gives you the option of letting
the mailing agent figure things out for you if you don't want to force
a particular address.]

MY PROBLEM: I can't get ELM to optimize return addresses correctly.

If I use the flat nmail.paths file for the pathalias database, the 
optimization doesn't occur. ELM simply returns the whole expanded
address (the input to the process) as the optimized address.
This happens because the domains file can't be opened (we don't
have one). I don't know why use of the nmail.paths file should
depend upon a domains file.

Now if I use the palias.{pag,dir} files, ELM sees that the pathalias
database is a DBM style database and doesn't bother with the domains
file. (Good!) But it gives me the wrong optimized address. If the input
expanded address was a!b!....!x!user, it comes back with user@x
even if x is not in our pathalias database.

Can anyone shed some light on what my problems or ELM's problems might
be?

Why would ELM require the domains database for one style of pathalias
database but not the other style?

Another thing I discovered is that if you want return address optimization,
(i.e. #define OPTIMIZE_RETURN), you also must *not* specify ELM to
*not* touch addresses as entered by the user (i.e. you must have
#undef DONT_TOUCH_ADDRESSES). Too  bad that the two are interwoven,
because it would have been nice to have ELM optimize a return address
when you make an alias for the sender of the current message (the
"a(dd)" option of the alias submenu, without ELM trying to  optimize
the addresses of all your outbound mail.
-- 
Rob Bernardo, Pacific Bell UNIX/C Reusable Code Library
Email:     ...![backbone]!pacbell!pbhyf!rob   OR  rob@pbhyf.PacBell.COM
Office:    (415) 823-2417  Room 4E750A, San Ramon Valley Administrative Center
Residence: (415) 827-4301  R Bar JB, Concord, California