I thought it would be difficult to get smartlist to not send a copy to the sender and only to all the other addresses in dist, but it wasn't.
I uncommented the RC.LOCAL.S20 line in rc.custom, and in rc.local.s20, I put:
# get sender address # and make new dist (distless) without sender
:0 { SENDER_ADDRESS=`formail -rtzxTo:` }
:0 c | $HOME/disjust.pl $SENDER_ADDRESS
and in disjust.pl I have:
#!/usr/bin/perl -w
use strict;
my $sender = shift @ARGV; open D, "dist"; open DL, ">distless"; while ( <D> ) { print DL unless /$sender/; }
and I changed rc.submit from:
alt_sendmail="\ choplist $minnames $mindiffnames $maxnames $maxsplits $maxsize $maxconcur dist"
to
alt_sendmail="\ choplist $minnames $mindiffnames $maxnames $maxsplits $maxsize $maxconcur distless"
And it seems to work. Now I have to think a way of making it configurable.