Xref: utzoo comp.mail.sendmail:2688 comp.mail.uucp:5874 Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!ccu.umanitoba.ca!herald.usask.ca!alberta!ubc-cs!uw-beaver!mit-eddie!mintaka!think.com!sdd.hp.com!elroy.jpl.nasa.gov!ncar!midway!gargoyle!chinet!les From: les@chinet.chi.il.us (Leslie Mikesell) Newsgroups: comp.mail.sendmail,comp.mail.uucp Subject: Re: smail 3.1.18 and transports Message-ID: <1991Feb13.175016.7921@chinet.chi.il.us> Date: 13 Feb 91 17:50:16 GMT References: <1991Feb10.013250.28368@techbook.com> Organization: Chinet - Chicago Public Access UNIX Lines: 54 In article <1991Feb10.013250.28368@techbook.com> jamesd@techbook.com (James Deibele) writes: > >I've been beating what brains I have against the docs for smail and >am having trouble figuring out how to configure it to allow another method >of transport. I am running Waffle, a UNIX BBS program that will send RFC >standard messages out. Unfortunately, to get mail into Waffle, you need to >run a special program called "mailin" which it provides. The author suggests >providing an alias for each user, but with a lot of callers this quickly >becomes impossible to maintain. >I would like to define that mail to a specific machine (in this case it's >the "virtual machine" "wiffle" in the techbook.com domain --- there isn't >a real machine named wiffle, but this serves to differentiate between >user "jamesd@techbook.com" who may not be the same person who uses the BBS >program with a login of jamesd) will be sent with a transport mechanism of >"mailin" instead of the default uux. So mail to "jamesd@wiffle.techbook.com" >would be sent as "mailin jamesd". It's easy to define your own transports in smail3 and if waffle's mail looks anything at all like unix mailboxes and has a similar locking scheme you can probably make smail deliver directly instead of running another program. You would do this by modifying the "transports" file to make a variation of the "local" transport (copy the entry, and give it a different name, making whatever changes would be needed for the waffle format.) If you want to pipe to another program instead, the "uux" driver would be a good starting point. I made a generic shell script driver so I could add fake hosts and gateway functions easily. It just pipes to a shell script with the same name as the host in a "scripts" directory giving the recipient as the argument. script: driver = pipe from; cmd = "/bin/sh $lib_dir/scripts/$host $user", umask = 0022, pipe_as_sender After setting up the transport, you need to arrange for the transport to be used for the specific host(s). You could set up a new router to find them and assign this as the transport. I just modified the standard "paths" router entry to say: method = uucp instead of: transport = uux and created the methods/uucp file with some "host transport" entries. Now I can add any name to the paths file, generally specifying itself as the destination: e.g. "wiffle wiffle!%s". Then an entry in methods/uucp like "wiffle script" would send this to the script transport, which would in turn pipe to the scripts/wiffle shell script. Les Mikesell les@chinet.chi.il.us