[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: SMTP file naming issue?

Thanks to all for the suggestions and clarification.  This approach
worked well for me: 

Re-Configuration of process.cf:

  Router moves new messages out to "save" area 
    unless "complete" flag exists (deletes flag 
    file and continues to rfc822 if it does exist)

  Router copies message to external process

  External process runs and resubmits to router when done

  Router notes it has a copy of this message already, 
    copies new contents into original file 
      (to preserve inode/timestamp), resets mtime

    deletes this copy

    moves original (now changed) back into queue

    creates a "flag" file indicating this message ready for
      zmailer processing

Kind of a low tech approach, lots of mv/cp/rm/cat calls.  Ugly, but
effective!   Now messages retain the spoolid assigned in the incoming
smtp session; I can track them through all logs.

I haven't noticed any performance issues: but if any of you gurus see a
problem with this approach, please set me straight!  :-)

-----Original Message-----
From: Carlos Mendioroz [mailto:tron@huapi.ba.ar] 
Sent: Monday, June 05, 2006 3:38 AM
To: Neal Morgan
Cc: zmailer@nic.funet.fi
Subject: Re: SMTP file naming issue?

Here's what I'm doing, it may suit your needs:
You can insert a call to an external pocess in the loop of router
processing. That would be in router.cf, this is what I do:

        [0-9]*)         TAG=$(/usr/bin/sb_client.py -T $file)
                        rfc822 "$file" ;;

I'm just "reading" the file there. Zmailer speed comes in part from the
fact that imposed message is not altered anytime.

Notice also that I'm keeping some info inside router. You can also keep
some more metadata outside.
I've altered router to place that info in a new X-xxxx header in the
transport control file, which the transport agents end up copying to
the output message. If you need further changing, you can change
the transport sequence, like insert another process in the chain
by using sm.

Hope this helps...
To unsubscribe from this list: send the line "unsubscribe zmailer" in
the body of a message to majordomo@nic.funet.fi