cvs commit: qpsmtpd/lib/Qpsmtpd Constants.pm SMTP.pm

[email protected] (Matt Sergeant)
Newsgroups perl.cvs.qpsmtpd
Message-ID <[email protected]>
cvsuser     03/06/24 00:42:38

  Modified:    lib/Qpsmtpd Constants.pm SMTP.pm
  Log:
  Added DISCARD option to DATA (body) checks
  Added documentation to Constants.pm
  
  Revision  Changes    Path
  1.3       +41 -4     qpsmtpd/lib/Qpsmtpd/Constants.pm
  
  Index: Constants.pm
  ===================================================================
  RCS file: /cvs/public/qpsmtpd/lib/Qpsmtpd/Constants.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -r1.2 -r1.3
  --- Constants.pm	8 Sep 2002 13:52:12 -0000	1.2
  +++ Constants.pm	24 Jun 2003 07:42:38 -0000	1.3
  @@ -2,7 +2,7 @@
   use strict;
   require Exporter;
   
  -my (@common) = qw(OK DECLINED DONE DENY DENYSOFT TRACE);
  +my (@common) = qw(OK DECLINED DONE DENY DENYSOFT TRACE DISCARD);
   
   use vars qw($VERSION @ISA @EXPORT);
   @ISA    = qw(Exporter);
  @@ -15,6 +15,7 @@
   use constant DENYSOFT => 902;
   use constant DECLINED => 909;
   use constant DONE     => 910;
  +use constant DISCARD  => 920;
   
   
   1;
  @@ -22,9 +23,45 @@
   
   =head1 NAME
   
  -Qpsmtpd::Constants - Constants should be defined here
  +Qpsmtpd::Constants - Constants for plugins to use
   
  -=head1 SYNOPSIS
  +=head1 CONSTANTS
   
  -Not sure if we are going to use this...
  +Constants available:
   
  +=over 4
  +
  +=item C<OK>
  +
  +Return this only from the queue phase to indicate the mail was queued
  +successfully.
  +
  +=item C<DENY>
  +
  +Returning this from a hook causes a 5xx error (hard failure) to be
  +returned to the connecting client.
  +
  +=item C<DENYSOFT>
  +
  +Returning this from a hook causes a 4xx error (temporary failure - try
  +again later) to be returned to the connecting client.
  +
  +=item C<DECLINED>
  +
  +Returning this from a hook implies success, but tells qpsmtpd to go
  +on to the next plugin.
  +
  +=item C<DONE>
  +
  +Returning this from a hook implies success, but tells qpsmtpd to
  +skip any remaining plugins for this phase.
  +
  +=item C<DISCARD>
  +
  +This can only be returned for the DATA phase. It tells qpsmtpd to
  +return 250 to the client implying delivery success, but silently
  +drops the email.
  +
  +=back
  +
  +=cut
  
  
  
  1.14      +3 -0      qpsmtpd/lib/Qpsmtpd/SMTP.pm
  
  Index: SMTP.pm
  ===================================================================
  RCS file: /cvs/public/qpsmtpd/lib/Qpsmtpd/SMTP.pm,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -w -r1.13 -r1.14
  --- SMTP.pm	21 Apr 2003 09:42:01 -0000	1.13
  +++ SMTP.pm	24 Jun 2003 07:42:38 -0000	1.14
  @@ -403,6 +403,9 @@
     elsif ($rc == DENYSOFT) {
       $self->respond(452, $msg || "Message denied temporarily");
     } 
  +  elsif ($rc == DISCARD) {
  +    $self->respond(250, $msg || "Message quietly discarded");
  +  }
     else {
       $self->queue($self->transaction);    
     }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.