my @out;
my $loc;
-#$DB::single = 1;
+# $DB::single = 1;
if ($self->state eq "prompt") {
for ($i++ ; $i < @f; $i++) {
my $msgno = DXMsg::next_transno('Msgno');
my $newsubj = "CC: " . $oref->subject;
+ my $newcall = uc $f[$i];
my $nref = DXMsg->alloc($msgno,
- uc $f[$i],
+ $newcall,
$self->call,
$main::systime,
'1',
push @list, $oref->read_msg_body();
$nref->store(\@list);
$nref->add_dir();
- #push @out, $self->msg('sendcc', $oref->msgno, $f[$i]);
- push @out, "copy of msg $oref->{msgno} sent to $to";
+ push @out, $self->msg('m2', $oref->msgno, $newcall);
}
DXMsg::queue_msg();
return (1, @out);
delete $self->{loc};
return (1, $self->msg('e6'));
}
-
+
# now save all the 'to' callsigns for later
# first check the 'to' addresses for 'badness'
my $t;
my @to;
- foreach $t (@f[ $i..$#f ]) {
+ splice @f, 0, $i-1 if $i > 0;
+ foreach $t (@f) {
$t = uc $t;
+
+ # is this callsign a distro?
+ my $fn = "/spider/msg/distro/$t.pl";
+ if (-e $fn) {
+ my $fh = new IO::File $fn;
+ if ($fh) {
+ local $/ = undef;
+ my $s = <$fh>;
+ $fh->close;
+ my @call;
+ @call = eval $s;
+ return (1, "Error in Distro $t.pl:", $@) if $@;
+ if (@call > 0) {
+ push @f, @call;
+ next;
+ }
+ }
+ }
if (grep $_ eq $t, @DXMsg::badmsg) {
- push @out, "Sorry, $t is an unacceptable TO address";
+ push @out, $self->msg('m3', $t);
} else {
push @to, $t;
}
# keep calling me for every line until I relinquish control
$self->func("DXMsg::do_send_stuff");
$self->state('send1');
- #push @out, $self->msg('sendsubj');
- push @out, "Enter Subject (30 characters) >";
+ push @out, $self->msg('m1');
}
return (1, @out);