Very good, But wouldn't you have after_rcpt fire each time [crlf] is received (on a rcpt to line)? It may be more efficient to fire once, rather than each time, but you couldn't return custom error for each address. I think it would be better to process it one at a time.
Rob :-) > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Harald Schneider > Sent: Wednesday, February 04, 2004 12:55 AM > To: [EMAIL PROTECTED] > Subject: [xmail] AW: Re: AW: Re: AW: Re: SMTP Dialog Filter Hooks > > DATA terminates the envelope. > AFTER_HEADER should be fired after the blank line, which > terminates the > header: > > MAIL FROM: ... > --> AFTER_MAIL_FROM > RCPT TO: ... > --> AFTER_RCPT_TO > DATA > From: ... > To: ... > Subject: ... > --> AFTER_HEADER > [blank line] > Mail body > .. [dot] > > Each event hook should submit its preceeding data to the script: > AFTER_MAIL_FROM submits the MAIL FROM line > AFTER_RCPT_TO submits the RCPT TO line. > AFTER_HEADER submits all lines between DATA and [blank line] > > There is one special thing:=20 > Since there can be multiple RCPT TO lines, the event should fire > with the last RCPT TO, submitting all lines before. > > --Harald > > > > -----Urspr=FCngliche Nachricht----- > > Von: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] Im Auftrag von Rob Arends > > Gesendet: Dienstag, 3. Februar 2004 14:28 > > An: [EMAIL PROTECTED] > > Betreff: [xmail] Re: AW: Re: AW: Re: SMTP Dialog Filter Hooks > >=20 > >=20 > > Harald, > > How would you propose that AFTER_HEADER be pre-emted.=20 > > I can follow how the other hooks would work, but the after=20 > > header one would have to be called when DATA command is=20 > > issued. Otherwise how would you know when ALL the header=20 > > commands were sent. You would not be able to=20 > > terminate/reject/et before DATA, only an abrupt termination=20 > > of the session. Comments??? > >=20 > > Rob :) > >=20 > > > -----Original Message----- > > > From: [EMAIL PROTECTED] > > > [mailto:[EMAIL PROTECTED] On Behalf Of Harald > Schneider > > > Sent: Tuesday, February 03, 2004 6:41 PM > > > To: [EMAIL PROTECTED] > > > Subject: [xmail] AW: Re: AW: Re: SMTP Dialog Filter Hooks > > >=20 > > > AFTER_MAIL_FROM, AFTER_RCPT_TO, AFTER_HEADER (=3D3Dbefore data) > > > would be =3D > > > cool. > > >=20 > > > --Harald > > >=20 > > > > -----Urspr=3DFCngliche Nachricht----- > > > > Von: [EMAIL PROTECTED] =20 > > > >[mailto:[EMAIL PROTECTED] Im Auftrag von Rob Arends > > > > Gesendet: Dienstag, 3. Februar 2004 01:41 > > > > An: [EMAIL PROTECTED] > > > > Betreff: [xmail] Re: AW: Re: SMTP Dialog Filter Hooks > > > >=3D20 > > > >=3D20 > > > > I agree, you should only implement these sort of hooks > on the=3D20 = > =20 > > > >header. But would you call the filter at the end of the=3D20=20 > > header,=20 > > > >or after each line? =3D20 > > > > Rob :-)=3D20 > > > >=3D20 > > > > > -----Original Message----- > > > > > From: [EMAIL PROTECTED] > > > > > [mailto:[EMAIL PROTECTED] On Behalf Of Harald > > > Schneider > > > > > Sent: Monday, February 02, 2004 11:16 PM > > > > > To: [EMAIL PROTECTED] > > > > > Subject: [xmail] AW: Re: SMTP Dialog Filter Hooks > > > > >=3D20 > > > > > OK .. this is true for checking the data part. Under the=3D20 > > > > aspect of =3D3D=3D20 > > > > > decoding mime mails, it isn't a trivial thing at all. > > > > >=3D20 > > > > > But Hooks for the envelope lines and the start of data > > > would be=3D3D20 =3D > > >=20 > > > > > comparable easy to implement and very valuable for future > > > script =3D3D =3D > > >=20 > > > > > extensions. > > > > >=3D20 > > > > > --Harald > > > > >=3D20 > > > > >=3D20 > > > > > > -----Urspr=3D3DFCngliche Nachricht----- > > > > > > Von: [EMAIL PROTECTED] =3D20=20 > > > > > >[mailto:[EMAIL PROTECTED] Im Auftrag von T. > > > Mike Howeth > > > > > > Gesendet: Montag, 2. Februar 2004 07:39 > > > > > > An: [EMAIL PROTECTED] > > > > > > Betreff: [xmail] Re: SMTP Dialog Filter Hooks > > > > > >=3D3D20 > > > > > >=3D3D20 > > > > > > I add this functionality to xmail myself and it does > > > not=3D3D20 =3D20 > > > > > >inordinately =3D3D3D impair performance if 1) other = > changes=3D20 > > > > are=3D3D20 made=3D20 > > > > > >to xmail to improve its =3D3D3D intrinsic > performance, 2)=3D20 > > > > the=3D3D20 checks=3D20 > > > > > >are aborted on messages that are long and 3) binary=3D3D20 = > =3D20 > > > > messages are=3D20 > > > > > >correctly identified and not handled by the=3D3D20 = > filter.=3D20 > > > > However, it=3D20 > > > > > >is not as simple as looking at each line=3D3D20 > presented=3D20 > > > > after the DATA=3D20 > > > > > >command: to correctly interpret=3D3D20 input, the code=20 > > must deal =3D > > > with=3D20 > > > > > >=3D3D3D message decoding on the fly=3D3D20 > > > (quoted-printable, base64 =3D > > > are=3D20 > > > > > >trivial, but MIME must =3D3D3D be=3D3D20 dealt with too)=20 > > and, at=3D20 > > > > a minimum,=3D20 > > > > > >support a scrolling-window=3D3D20 type of =3D3D3D buffer = > (DATA=3D20 > > > > lines do not=3D20 > > > > > >correspond to actual=3D3D20 message lines). Although I = > am=3D20 > > > > =3D3D3D glad that=3D20 > > > > > >I can reject=3D3D20 messages as they come in now, the = > amount=3D20 > > > > of work =3D3D3D=3D20 > > > > > >involved=3D3D20 was substantial and unless Davide is a=20 > > complete=3D20=20 > > > > > >masochist,=3D3D20 there are probably features that would = > be=3D20 > > > > better uses=3D20 > > > > > >of=3D3D20 development time. (And, naturally, about a > > > month after I=3D20 > > > > > >got=3D3D20 it basically-where-i-wanted-it, I =3D3D3D=20 > > moved and no =3D > > > longer=3D20 > > > > > >have=3D3D20 adequate connectivity to host my own MTA box. = > Ha.)=20 > > > > > >=3D3D20 (and BTW, if you stop accepting a message during=20 > > > > > >receipt,=3D3D20 you're telling =3D3D3D the other > end exactly = > what=20 > > > > > >they > > > did that=3D3D20 > > > > > > tripped the wire. It's best to =3D3D3D accept the rest = > -=3D3D20=20 > > > > > > discarding it as you go - even after the decision is > > > made to=3D3D20 > > > > > > reject the message). > > > > > >=3D3D20 > > > > > >=3D3D20 > > > > > > -----Original Message----- > > > > > > From: [EMAIL PROTECTED] =20 > > > > > >[mailto:[EMAIL PROTECTED] =3D3D3D On > Behalf > > > Of Harald =3D > > > =3D3D > > > > > Schneider > > > > > > Sent: Sunday, 1 February 2004 8:07 AM > > > > > > To: [EMAIL PROTECTED] > > > > > > Subject: [xmail] SMTP Dialog Filter Hooks > > > > > >=3D3D20 > > > > > >=3D3D20 > > > > > > Hi Davide, > > > > > >=3D3D20 > > > > > > is there a chance to see SMTP dialog filter hooks in > > > the next=3D3D20 =3D > > > =3D20 > > > > > >release? =3D3D3D This would make the filtering > engine more=3D20 > > > > flexible: =3D3D20 > > > > > > You could check the RCPT_TO and act before the=20 > > message is=3D3D20=20 > > > > > > accepted. E.g. checking a forwarding target server,=20 > > if the=3D3D20=20 > > > > > > user exists there, before accepting and forwarding=20 > > the whole =3D3D > > > > > mail.=3D3D3D20 > > > > > >=3D3D20 > > > > > > Hooks after each SMTP command and after each data line=3D20 > > > > would=3D3D20 be=3D20 > > > > > >a nice=3D3D3D20 thing, e.g.: =3D3D20 > > > > > > HOOK_HELO > > > > > > HOOK_MAIL_FROM > > > > > > HOOK_RCPT_TO > > > > > > HOOK_DATALINE > > > > > >=3D3D20 > > > > > > So a script could also do anti spam and anti virus=20 > > checking=3D3D20 =20 > > > > > >on the fly,=3D3D3D20 aborting conversation without > accepting = > =3D > > > the=3D3D20 > > > > > > whole message.=3D3D3D20 > > > > > >=3D3D20 > > > > > > What do you think? > > > > > >=3D3D20 > > > > > > All the best, > > > > > > Harald > > > > > >=3D3D20 > > > > > >=3D3D20 > > > > > >=3D3D20 > > > > > >=3D3D20 > > > > > > - > > > > > > To unsubscribe from this list: send the line=20 > > "unsubscribe=3D3D20 =20 > > > > > >xmail" in the =3D3D3D body of a message to =3D > > > [EMAIL PROTECTED] > > > > > > For general help: send the line "help" in the body > of a=3D3D20 = > =20 > > > > > >message to [EMAIL PROTECTED] =3D3D20 > > > > > >=3D3D20 > > > > > >=3D3D20 > > > > > >=3D3D20 > > > > > > - > > > > > > To unsubscribe from this list: send the line = > "unsubscribe=3D3D20 > > > > > > xmail" in the body of a message to=20 > > [EMAIL PROTECTED] > > > > > > For general help: send the line "help" in the body > of a=3D3D20 > > > > > > message to [EMAIL PROTECTED] > > > > > >=3D3D20 > > > > >=3D20 > > > > > - > > > > > To unsubscribe from this list: send the line "unsubscribe > > > xmail" in=3D20 > > > > > the body of a message to [EMAIL PROTECTED] For > > > general help:=3D20 > > > > > send the line "help" in the body of a message to=3D20 =20 > > > > >[EMAIL PROTECTED] =3D20 > > > >=3D20 > > > > - > > > > To unsubscribe from this list: send the line=20 > > "unsubscribe=3D20 xmail"=20 > > > >in the body of a message to [EMAIL PROTECTED] =20 > > For general=20 > > > >help: send the line "help" in the body of a=3D20 message to=20 > > > >[EMAIL PROTECTED] =3D20 > > >=20 > > > - > > > To unsubscribe from this list: send the line "unsubscribe > xmail" in=20 > > > the body of a message to [EMAIL PROTECTED] For > general help:=20 > > > send the line "help" in the body of a message to=20 > > > [EMAIL PROTECTED] > > >=20 > >=20 > > - > > To unsubscribe from this list: send the line "unsubscribe=20 > > xmail" in the body of a message to [EMAIL PROTECTED] > > For general help: send the line "help" in the body of a=20 > > message to [EMAIL PROTECTED] > >=20 > > - > To unsubscribe from this list: send the line "unsubscribe xmail" in > the body of a message to [EMAIL PROTECTED] > For general help: send the line "help" in the body of a message to > [EMAIL PROTECTED] > > - To unsubscribe from this list: send the line "unsubscribe xmail" in the body of a message to [EMAIL PROTECTED] For general help: send the line "help" in the body of a message to [EMAIL PROTECTED]
