Path: utzoo!attcan!uunet!husc6!think!ames!amdahl!tron From: tron@amdahl.uts.amdahl.com (Ronald S. Karr) Newsgroups: comp.mail.uucp Subject: Re: BSMTP - Its time has come Message-ID: <8cxtXf2ifC1010ZZURE@amdahl.uts.amdahl.com> Date: 18 Jun 88 09:30:28 GMT References: <14605@uunet.UU.NET> <10127@mcdchg.UUCP> <10266@ncc.Nexus.CA> <1787@van-bc.UUCP> <10267@ncc.Nexus.CA> <9593@g.ms.uky.edu> Reply-To: tron@amdahl.uts.amdahl.com (Ronald S. Karr) Organization: Amdahl Coup, UTS Products Hen house Lines: 147 In article <1787@van-bc.UUCP> sl@wimsey.bc.ca (10 Stuart Lynne) writes: >Something else which could (should) be done is to get BSMTP implemented at >UUNET. The Smail3.1 mailer, currently in Alpha test, handles a batched form of SMTP. It allows a site to a create a transport that sends a message formatted as: HELO site.domain MAIL FROM: RCPT TO: ... DATA From: user (name) Subject: ... To: whomever body... . QUIT Smail3.1 can then send this over UUCP using a command such as: uux - host!rsmtp or: uux - host!rmail -bS Error recover on the recipient side is handled by returning mail to the sender identified in the "RCPT TO:" command. Paritially formed transactions (without the HELO and QUIT) can also be accumlated in a file or directory and periodically delivered in one one large batch of SMTP commands with one UUCP transaction. This method of delivery, or any number of other methods, can be selected on a per-host basis. Other features in Smail3.1 are: * Multiple alias files (using YP, DBM, sorted or unsorted ASCII files). * Multiple path files. * Networking with SMTP over TCP/IP, wherever the socket calls exist. * Mailing list directories (create a mailing list merely by creating a file in these directories--great with sticky directories). * The ability to call arbitrary programs to calculate paths. * Fairly simple site configuration to add new forms for aliasing/forwarding, host routing and delivery. * Standard hooks for adding new C routines to perform aliasing, host routing, delivery, or database lookup. * Adequate security to allow users to specify shell commands and mailbox files in alias and .forward files. * Command line compatibility with sendmail, allowing sendmail to be entirely replaced simply by copying smail3.1 to /usr/lib/sendmail. The following is an example of how one would batch together messages to be sent using batched SMTP in one UUCP transaction: First of all, create an entry in a routing configuration file to define a paths file: # define a paths file created by the pathalias program paths: driver=pathalias, # this file maps hosts to transports: method=/usr/lib/smail/methods/uucp-transports; # the paths file is stored as a DBM database: file=/usr/lib/smail/paths, proto=dbm Then, create the file /usr/lib/smail/methods/uucp-transports to state which hosts should receive mail over batched SMTP: # map hosts to transports uunet batched_smtp cbosgd batched_smtp * uux # all other hosts are delivered to remote rmail Then, entries are added to a transport description file: # deliver using uux-->rmail uux: driver=pipe, # deliver by calling a program max_chars=200, # at most 200 chars in command line max_addrs=5, # up to 5 addresses per call uucp, # limit envelope addresses to UUCP forms from; # expects a From_ line # deliver using the following command: cmd="/usr/bin/uux - -r -g$grade $host!rmail $(($user)$)" # accumulate batched SMTP commands in a file based on host: batched_smtp: driver=appendfile, # deliver by appending to a file -max_chars, # no limit on chars of address per invocation -max_addrs, # no limit on addresses per invocation -hbsmtp; # use batched SMTP without HELO and QUIT # deliver to a file based on the name of the host: file=/usr/spool/smail/smtp_outq/$host Then, to send these files periodically to remote hosts, use a script such as the following (executed from cron): #!/bin/sh cd /usr/spool/smail/smtp_outq for host in *; do # move to prevent inconsistent copy of file mv $host .$host # if one more transaction being added, allow to complete sleep 10 # send to remote host: uux - -r $host!rsmtp < .$host rm -f .$host done exit 0 Anybody interested in more information on smail (such as the current set of man pages) can send mail to: info-smail-request@uts.amdahl.com {decwrl,sun,uunet}!amdahl!info-smail-request to get on the smail3.1 information mailing list. The Smail3.1 mailer is related to the Smail2.5 mailer both by name and through discussions with Larry Auton and Mark Horton at the last summer USENIX (1987). It is only slightly related by code. The hope is that this will replace the previous version of smail at some time in the future. Hopefully, if Larry and Mark haven't become too bored waiting for significant progress this will still occur. The authors of Smail3.1 are Ronald S. Karr (myself) and Landon Curt Noll. Both of us are employees at Amdahl Corp. of Sunnyvale CA. -- tron |-<=>-| ARPAnet: amdahl!tron@Sun.COM tron@uts.amdahl.com UUCPnet: {decwrl,sun,uunet}!amdahl!tron [views above shouldn't be viewed as Amdahl views, or as views from Amdahl, or as Amdahl views views, or as views by Mr. Amdahl, or as views from his house]