_brian_d_foy <[EMAIL PROTECTED]> writes: > In article <[EMAIL PROTECTED]>, Olivier Poitrey ><[EMAIL PROTECTED]> wrote: > >> My class implements 3 protocols : SMTP, ESMTP and LMTP. ESMTP inherit >> from SMTP and LMTP from ESMTP (as describe in RFCs). So isn't it a >> problem to use 3 namespaces (Net::SMTP::Server, Net::ESMTP::Server and >> Net::LMTP::Server) ? Another problem is that Net::SMTP::Server already >> exists. > > do you need to rewrite Net::SMTP::Server or can you work with the > existing ones? >
Net::Server::Mail::* are already written, and as I said in my first post, the current Net::SMTP::Server wasn't designed to be extendable. Actually - in my module distribution - the SMTP class is the base class for all others, so I can't request only ESMTP and LMTP ones. > if you submit namespace requests for the other ones i'll approve those > unless anyone else has something to say about it. that gets you > started at least. Let me describe the actual Net::Server::Mail architecture: Net::Server::Mail is the base class, it implements all common methods that are not part of the protocol. Net::Server::Mail::SMTP inherits from Net::Server::Mail and implements all required commands described in RFC 821. Net::Server::Mail::ESMTP inherits from Net::Server::Mail::SMTP and adds the extension mechanism introduced in RFC 2821. Included extensions are disposed under the Net::Server::Mail::ESMTP namespace (eg: Net::Server::Mail::ESMTP::PIPELINING). Finally Net::Server::Mail::LMTP inherits from Net::Server::Mail::ESMTP and implements little modifications needed by RFC 2033. Now you should understand why I need a separated namespace. best regards. PS: you can find the module to the CPAN or on its CVS (cvsroot: [EMAIL PROTECTED]:/devel module: Net-Server-Mail). -- ______________________________________________________________________ O l i v i e r P o i t r e y