I think the isa_plugin() stuff is for when you want your plugin to
inherit from another class in addition to the default Qpsmtpd::Plugin.
I'm not sure why you can't just override @ISA though.

What I'm looking for is a way to take the spam filtering portion of my
quarentene plugin and use existing qpsmtpd plugins to do it.  Right
now, I'm doing SpamAsssassin and ClamAV within my plugin rather than
using the existing qpsmtpd spamassassin and clamav plugins.

I've needed to read the source to Qpsmtpd to figure out how things
work.  I don't mind that except that if I'm not using a documented
API, I can't be sure it won't change.  For example, I call the
respond() method directly and as far as I can tell it isn't
documented.

-Dave

On 9/12/06, Ask Bjørn Hansen <[EMAIL PROTECTED]> wrote:

On Sep 12, 2006, at 13:44, David Muir Sharnoff wrote:

>
> I'm writing a plugin that needs fairly high-level control and idealy
> would use the results from other plugins.  Are there hooks for
> qpsmtpd plugins to have plugins?

Yup, look at the very bottom of README.plugins.   It's not exactly
what you describe, but it might be useful.

  - ask

=head1 Inheritance

Instead of modifying @ISA directly in your plugin, use the
C< isa_plugin > method from the init subroutine.

   # rcpt_ok_child
   sub init {
     my ($self, $qp) = @_;
     $self->isa_plugin('rcpt_ok');
   }

   sub hook_rcpt {
     my ($self, $transaction, $recipient) = @_;
     # do something special here...
     $self->SUPER::hook_rcpt( $transaction, $recipient );
   }

--
http://www.askbjoernhansen.com/



Reply via email to