Path: utzoo!attcan!uunet!aplcen!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!usc!snorkelwacker!bloom-beacon!CSE.OGI.EDU!schaefer From: schaefer@CSE.OGI.EDU (Barton E. Schaefer) Newsgroups: comp.mail.mush Subject: Re: forwarding many messages Message-ID: <9007222139.AA07408@cse.ogi.edu> Date: 22 Jul 90 21:39:29 GMT Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Lines: 46 On Jul 22, 7:14pm, Kurt Hirchert wrote: } Subject: forwarding many messages } } From time to time, I get requests to forward copies of messages I have } received. [...] The problem with [piping lots of messages to mail -f] } is that after the first few messages, the attempts to forward these messages } fail because of insufficient memory. [...] Is there a way I can either } get mush to wait for the earlier messages to quit before trying to send more } or a way I can conveniently break the list of messages into shorter lists that } I can manually space out? If you use "mail -v -f" or "set verbose", mush will fork the sendmails one at a time so that you can see the verbosity. This should work for most installations. However, if your MTA does not support any verbose options, mush may have been installed with the "-v" switch disabled. In this case, there isn't any way to force one-sendmail-at-a-time. To split lists of messages into shorter lists, there are options of the "pick" command that perform head or tail operations. First, generate the list you want: pick -s "Please forward" | set forward Next, pick out the first three (or whatever number is best) and pipe to mail: $forward | pick +3 | set sent | mail -f Now remove the sent messages from $forward: $forward { $sent } | set forward Repeat the last two steps as necessary. You can make cmd aliases to speed this up; perhaps: cmd fset 'pick \!* | set forward ; echo "Forward: $forward"' cmd fsplit '$forward | pick +3 | set sent | mail -f ;\ $forward { $sent } | set forward ;\ echo "Sent: $sent -- Remaining: $forward"' Now you can type "fset", then "fsplit", and then repeat "!!" (history reference) until all the messages are sent. Warning: if you use fsplit without first setting $forward, you'll forward the current message. -- Bart Schaefer schaefer@cse.ogi.edu