To whom it may concern (and can commit :)),

README.plugins documents, for the data_post hook:

   DENY_DISCONNECT & DENYSOFT_DISCONNECT - as above but with disconnect

But in Qpsmtpd/SMTP.pm, it doesn't handle the disconnect variants:

sub data_post_respond {
  my ($self, $rc, $msg, $args) = @_;
  if ($rc == DONE) {
    return 1;
  }
  elsif ($rc == DENY) {
    $msg->[0] ||= "Message denied";
    $self->respond(552, @$msg);
  }
  elsif ($rc == DENYSOFT) {
    $msg->[0] ||= "Message denied temporarily";
    $self->respond(452, @$msg);
  }
  else {
    $self->queue($self->transaction);
  }

  # DATA is always the end of a "transaction"
  return $self->reset_transaction;

}

- Brad

Reply via email to