jlol@REMUS.EE.BYU.EDU (Jay Lawlor) (09/22/90)
Let's suppose I'm on some junk mail mailing list that I haven't been able to get off of. How can I make mail from that particular person/list bounce or appear (convincingly) to have bounced without having to change my email address? I assume that after a bounce or two I would be removed from the list. Unix SysV and/or BSD solutions are what I'm looking for. I'd prefer mail but post if you want. I'll summarize if there's interest. ----------------------------------------------------------------------------- Jay Lawlor | Systems Manager, Supercomputer Center | I think there is a world market for 459 Clyde Building | about five computers -- Thomas J. Brigham Young University | Watson, CEO, IBM Corporation, 1947 Provo, UT 84602 | jlol@ee.byu.edu | -----------------------------------------------------------------------------
karl_kleinpaste@charcoal.com (09/23/90)
jlol@remus.ee.byu.edu writes:
Let's suppose I'm on some junk mail mailing list that I haven't been
able to get off of. How can I make mail from that particular
person/list bounce or appear (convincingly) to have bounced without
having to change my email address?
The following suggestion is entirely untested, but the principle
should be reasonably obvious.
In .forward, place this:
\jlol, "|/home/dirs/jlol/bin/bouncer"
Then the bouncer script could look like...
----------------
#!/bin/csh -f
#
# Bouncer: a script to scan incoming mail to see if it comes
# from the "wrong" place, and fakes a bounce-o-gram back if so.
#
set t1=/tmp/bounce.a$$
set t2=/tmp/bounce.b$$
#
# Save the mail; then pull out the From_ address.
cat > $t1
set origin="`head -1 $t1 | awk '{ print $2 }'`"
#
# If it comes from the wrong place (hopefully, a *-request@* form)...
if ("$origin" == bad@addr.ess) then
#
# Bad juju. Preformat a pseudobounce-o-gram.
cat << EoF > $t2
To: $origin
Subject: Returned mail: User unknown
From: mailer-daemon@remus.ee.byu.edu
----- Transcript of session follows -----
554 jlol...User unknown
EoF
#
# Stuff it directly into sendmail.
(cat $t2 ; tail +2 $t1) | /usr/lib/sendmail -t
endif
#
# Clean up.
rm -f $t1 $t2
exit 0
----------------
Embellish to taste.
--karl
jlol@REMUS.EE.BYU.EDU (Jay Lawlor) (09/27/90)
I promised a summary and have been getting some requests for one so here it is. A couple people mentioned that this might be kind of an anti-social thing to do. I hadn't really thought of it that way before. But considering that so many people are happy to share their time and knowledge on the net and through email, I guess some of us could stand to be a little more tolerant of mail we consider junk. Actually, I made the request on behalf of a friend. I'm pretty happy with the mailing lists that I'm on currently. But here goes... I haven't tried these yet. Some of them look rather fun. ------------------------------------------------------------------ >>>>> On Fri, 21 Sep 90 21:27:42 -0400, David Lesher <wb8foz@mthvax.cs.miami.edu> said: David> I use filter from elm. Here's how. (I'm chewing on Phil, a vampire David> type I know who has mailboxes on a dozen machines, but never answers David> his mail.) David> ~/.elm/filter-rules: David> If (from "ncoast!smith") then execute "elm -s garlictoast Count" David> If (from "smith@skybridge") then execute "elm -s garlictoast Count" David> If (from "smith@pyrite") then execute "elm -s garlictoast Count" David> If (from "hal9000") then execute "elm -s garlictoast Count" David> If (from "val9000") then execute "elm -s garlictoast Count" David> If (from "Phil Smyth") then execute "elm -s garlictoast Count" David> If (from "smith@ncoast") then execute "elm -s garlictoast Count" David> If (from "sidrat") then execute "elm -s garlictoast Count" David> where Count is a alias within elm as follows: David> ~/.elm/aliases.text: David> c1 = Phil Smith = ncoast!hal9000!smith@usenet.ins.cwru.edu David> c2 = Phil Smith = ncoast!sidrat!smith@usenet.ins.cwru.edu David> c3 = Phil Smith = ncoast!hal9000!val9000!smith@usenet.ins.cwru.edu David> c5 = Phil Smith = ncoast!smith@usenet.ins.cwru.edu David> c6 = Phil Smith = ncoast!hal9000!root@usenet.ins.cwru.edu David> c7 = Phil Smith = ncoast!hal9000!val9000!root@usenet.ins.cwru.edu David> c8 = Phil Smith = ncoast!sidrat!root@usenet.ins.cwru.edu David> c9 = Phil Smith = smith@pyrite.som.cwru.edu David> Count = Phil Smith = c1, c2, c3, c5, c6, c7, c8, c9 David> with c1-9 needed because elm can only map its own alili on a David> multiple destination line. David> You could, of course, be less anti-social, and just use David> filter to delete the mail. It will look at subject, from, and David> a bunch of other things... David> -- David> A host is a host from coast to coast.....wb8foz@mthvax.cs.miami.edu David> & no one will talk to a host that's close............(305) 255-RTFM David> Unless the host (that isn't close)......................pob 570-335 David> is busy, hung or dead....................................33257-0335 --------------------------------------------------------------------------- >>>>> On Fri, 21 Sep 90 21:35:08 PDT, raymond@math.berkeley.edu (Raymond Chen) said: Raymond> How about "sendmail -t" with a spoofed return address? Raymond> In general, though, this is a Very Antisocial thing to do... ------------------------------------------------------------------------- >>>>> On Sat, 22 Sep 90 13:33:08 EDT, Rodney Peck II <rodney@ipl.rpi.edu> said: Rodney> that's really not such a good idea -- if the admin doesn't answer and Rodney> take you off, he's probably not watching at all and all you will do is Rodney> clog up the net with messages. Rodney> Something better would be to use a filter like mh or something you write Rodney> yourself to catch your incoming mail, check it to see if its from the list, Rodney> and if it is, compose a letter to the list-request asking to be removed, Rodney> and tossing the received message in /dev/null. Rodney> this would solve your problem since you would never see the message again. -------------------------------------------------------------------------- >>>>> On Mon, 24 Sep 1990 15:55:02 EDT, mskucherawy@watmath.waterloo.edu (Murray S. Kucherawy) said: Murray> Return-Receipt-To: mskucherawy@watmath.waterloo.edu Murray> Mush can do it (it's not BSD or Unix V, but a mail package that can be told Murray> to do what you're asking for). If you want more info, I cn provide it. Murray> -- Murray> ============================== Murray S. Kucherawy ========================== ----------------------------------------------------------------------------- >>>>> On Mon, 24 Sep 90 13:29 EDT, tct!chip@uunet.UU.NET (Chip Salzenberg) said: Chip> I suggest you get my Deliver program. It can do just about anything Chip> with arriving mail, including throw it away. You control its actions Chip> by writing shell scripts, called "delivery files". Here's mine: Chip> ================================================================ Chip> # Delivery for Chip Chip> PATH=/bin:/usr/bin:/u/local/bin ; export PATH Chip> user="$1" Chip> case "$SENDER" in Chip> *!NOVELL) Chip> echo DROP Chip> ( sed -e 's/!uunet![A-Za-z]*\.PRINCETON\.EDU!/!/g' $HEADER Chip> cat $BODY ) | Chip> /u/local/bin/postmail mail.novell >&2 Chip> exit Chip> ;; Chip> esac Chip> echo $user Chip> for tty in `who | awk '$1 == "'"$user"'" { print $2 }'` Chip> do Chip> case "$tty" in Chip> ttyp*) continue ;; Chip> esac Chip> f="`header -f from $HEADER`" Chip> [ "" != "$f" ] || f="$SENDER" Chip> m="Hey! You have new mail from $f." Chip> echo "\r\n>>> $m <<<\r\n" >>/dev/$tty 2>/dev/null Chip> done Chip> ================================================================ Chip> You see the part where my Novell mailing list is gatewayed to a local Chip> newsgroup, based on the $SENDER value (an environment variable set by Chip> Deliver before it runs the script). To throw away mail, just replace Chip> the "postmail" code with "echo DROP; exit". Chip> Deliver works with System V, BSD, Xenix and V7 (!). When used with Chip> Sendmail or Smail 3, you put "|/usr/bin/deliver" in your .forward. Chip> With Smail 2.5, you configure Smail to run /usr/bin/deliver for Chip> delivery of local (and/or remote) mail. Otherwise, you have to hack Chip> it in manually. Chip> Note that current version is 2.0 PL12. Once you have 2.0 PL11, send Chip> me mail and I'll send you patch #12. Chip> **FTP: Get Deliver 2.0 PL11 by anonymous FTP from tut.cis.ohio-state.edu. Chip> For those of you without DNS, that's [128.146.8.60]. Here's the relevant Chip> part of the Ohio State archive info: Chip> Deliver 2.0 Chip> ----------- Chip> Source is Chip Salzenberg <ateng!tct!chip@uunet.uu.net>. Chip> Root is ~/deliver/deliver-2.0-part-[1234].Z [4 parts], varying sizes Chip> less than 25Kbytes each. Chip> Note that "~" is the anonymous FTP "pub" directory. So, after making an Chip> FTP connection as user "anonymous," type the following commands to get Chip> Deliver into the current directory: Chip> binary Chip> cd pub/deliver Chip> get deliver-2.0-part-1.Z deliver.01.Z Chip> get deliver-2.0-part-2.Z deliver.02.Z Chip> get deliver-2.0-part-3.Z deliver.03.Z Chip> get deliver-2.0-part-4.Z deliver.04.Z Chip> **UUCP: Get Deliver 2.0 PL11 by anonymous UUCP from alfred: Chip> alfred Any ACU 2400 14072909799 "" \d in:--in: anonuucp word: unknown Chip> alfred Any ACU 1200 14072909799 "" \d\r\d in:--in: anonuucp word: unknown Chip> Alfred's complete file listing is alfred!~/ANON/ls-lR. Chip> Deliver is stored on alfred as four compressed sharchives in the Chip> ~/ANON/deliver directory, with a total size of less than 100K. Chip> To get Deliver 2.0 from alfred into the current directory, type: Chip> uucp alfred!~/ANON/deliver/deliver.01.Z . Chip> uucp alfred!~/ANON/deliver/deliver.02.Z . Chip> uucp alfred!~/ANON/deliver/deliver.03.Z . Chip> uucp alfred!~/ANON/deliver/deliver.04.Z . Chip> Note that wildcards ("deliver.??.Z") will *not* work. Chip> -- Chip> Chip Salzenberg at Teltronics/TCT <chip@tct.uucp>, <uunet!pdn!tct!chip> --------------------------------------------------------------------------- >>>>> On Wed, 26 Sep 90 20:20:00 PDT, andy@spl28.spl.fac.com (Andrew Purshottam) said: Andrew> Ask shipley@berkeley.edu for "autobounce", you'll love it. Andrew> I reccomend against installing it in you .forward as it has Andrew> a few bugs still. You can use it against particular pieces Andrew> of mail or have it screen all mail and bounce with selected Andrew> probabilaties though uses in your ".s*itlist"! Andrew> Cheers, Andrew> Andy ---------------------------------------------------------------------------- >>>>> On 23 Sep 90 16:55:54 GMT, karl_kleinpaste@charcoal.com said: karl> The following suggestion is entirely untested, but the principle karl> should be reasonably obvious. karl> In .forward, place this: karl> \jlol, "|/home/dirs/jlol/bin/bouncer" karl> Then the bouncer script could look like... karl> ---------------- karl> #!/bin/csh -f karl> # karl> # Bouncer: a script to scan incoming mail to see if it comes karl> # from the "wrong" place, and fakes a bounce-o-gram back if so. karl> # karl> set t1=/tmp/bounce.a$$ karl> set t2=/tmp/bounce.b$$ karl> # karl> # Save the mail; then pull out the From_ address. cat > $t1 karl> set origin="`head -1 $t1 | awk '{ print $2 }'`" karl> # karl> # If it comes from the wrong place (hopefully, a *-request@* form)... karl> if ("$origin" == bad@addr.ess) then karl> # karl> # Bad juju. Preformat a pseudobounce-o-gram. karl> cat << EoF > $t2 karl> To: $origin karl> Subject: Returned mail: User unknown karl> From: mailer-daemon@remus.ee.byu.edu karl> ----- Transcript of session follows ----- karl> 554 jlol...User unknown karl> EoF karl> # karl> # Stuff it directly into sendmail. karl> (cat $t2 ; tail +2 $t1) | /usr/lib/sendmail -t karl> endif karl> # karl> # Clean up. karl> rm -f $t1 $t2 karl> exit 0 karl> ---------------- karl> Embellish to taste. karl> --karl