Path: utzoo!attcan!uunet!van-bc!sl From: sl@van-bc.UUCP (pri=-10 Stuart Lynne) Newsgroups: comp.mail.uucp Subject: Re: BSMTP - Its time has come Message-ID: <1793@van-bc.UUCP> Date: 10 Jun 88 01:55:46 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: sl@van-bc.UUCP (pri=-10 Stuart Lynne) Organization: Public Access Network, Vancouver, BC. Lines: 78 In article <9593@g.ms.uky.edu> david@ms.uky.edu (David Herron -- One of the vertebrae) writes: >In article <10267@ncc.Nexus.CA> lyndon@ncc.nexus.ca (Lyndon Nerenberg) writes: >>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. >Getting my bsmtp program to interface to smail would be trivial, >merely follow the outline I wrote into domail() (or whatever that >routine was named) to call /bin/smail with the right arguments. >Easy stuff ... Actually it's easier than that. Just have smail use a delivery program which can differentiate between sites that can receive BSMTP bundles and ones that don't. Messages to the former get routed to a mailer that creates the BSMTP message, to the latter get sent to uux rmail!... >Queueing. To take advantage of the batching in bsmtp you want to >have as many mail messages in the batch as you can manage. But >neither smail or sendmail will handle more than one message at >a time, will they? (My memory on them is a little poor, but I >don't remember anything for handling more than one message at >any one moment). What you have to do is to append the output of the BSMTP program to the end of an outbound mailbag, one per site that you talk to. When the size of that file exceeds a certain size (say 50k) you dispatch the mailbag to the remote site via rmail. Eg: bsmtp ..... >> remote.mailbag ... uux remote!bsmtp < remote.mailbag There are two problems. First contention for the mailbag file. You can't do the rmail with the actual mailbag file. You first have to lock it, rename it, create a new mailbag file, rmail it, and delete it. The second problem is that when a site calls in he probably wants to get all of his messages, including the ones in the mailbag. So during his login you have to check to see if the mailbag file is non empty, lock it, rename it, create an empty one, mail it, and continue. The problem here is contention for the locks might increase the time to get uucico running, causing the occasional timeout. This might be easily solved by having the script emit a buzzword after it's finished - i.e. "OK" - which the other ends uucico login script can look for - i.e. in: myname ord: mypasswd OK--OK--OK. >Routing. Yes, you can say that uunet does BSMTP (assuming that >you get Rick to implement it). Now, what do you do after that? >You'll have other sites with BSMTP capabilities also. Other I don't think you tell the world. BSMTP mail bundles simply replace smaller single message files on a single hop. So if you know that uunet can receive BSMTP mail bundles (for example by mailing them to uunet!bsmtp) you simply place there name in a file listing the hosts that you talk to that can receive BSMTP bundles. Similarily if you can receive BSMTP bundles and you know that uunet can send BSMTP bundles you inform uunet!postmaster that you can. He then does the same for you. Now when mail arrives at uunet it is sent to you via BSMTP instead of a single message at a time. The bottom line is that you have to inform the sites that talk to you, no one else is involved. >I'm curious about something. There's no error recovery in the >BSMTP program. Has anybody had any problems because of this? >Should there be error recovery? It should be at least as robust as rmail is now. It's just that if a set of files to tell a remote uuxqt to do an rmail gets trashed you only loose one message, now you loose the whole bundle. Don't think this will be a big problem. -- Stuart.Lynne@wimsey.bc.ca {ubc-cs,uunet}!van-bc!sl Vancouver,BC,604-937-7532