--On Friday, January 07, 2005 12:38 AM -0500 m <[EMAIL PROTECTED]> wrote:
My apologies for continuing to post to the list -- I'm just trying to finish a project.
Craig Forbes wrote to the list some time ago and stated:
I have done this. Actually someone was asking about this a few weeks ago and I sent email with some information about how I did it -- it should be in the list archives.
To summarize: I added support in tmda for LMTP delivery I added support for passing values into tmda via the command line instead of environment variables. I created a "home" directory for each of my virtual users where tmda stores its per user files. I configured tmda and tmda-cgi to use these directories.
What I need to find is the documentation for passing values into tmda via the command line. I haven't found it in the list archives, and it does not APPEAR to be in the lmtp patch he provided. Not being a Python programmer, I'm not quite sure what the patch does.
I had to modify TMDA to take parameters via the command line. Unless I missed something TMDA expects the parameters to be passed via the command line.
Here is what I wrote to the list on December 21:
I modified the tmda-filter script to take values, typically read from environment variables, via the command line. I then defined a postfix service using "pipe" that I could then specify as a transport in postfixr and then used the per user transport map to redirect to TMDA.
from my postfix master.cf:
tmda unix - n n - - pipe flags=Rhu user=tmda:cyrus argv=/local/tmda/bin/tmda-filter -noenv /local/tmda/users/$user $user $sender $recipient $extension
Note the addition of the "-noenv" options and the 5 values passed via the command line. See below for the diffs to tmda-filter to use this.
I hope this helps.
-Craig
Here is the diff for tmda-filter:
***************
*** 47,56 ****
--- 47,63 ----
sitedir = os.path.join(sys.prefix, 'lib', 'python'+sys.version[:3],
'site-packages', 'TMDA', 'pythonlib')
sys.path.insert(0, sitedir)
program = sys.argv[0]
+ if sys.argv[1] == '-noenv':
+ sys.argv.pop(1)
+ os.environ['HOME'] = sys.argv.pop(1)
+ os.environ['USER'] = sys.argv.pop(1)
+ os.environ['SENDER'] = sys.argv.pop(1)
+ os.environ['RECIPIENT'] = sys.argv.pop(1)
+ os.environ['EXT'] = sys.argv.pop(1)
execdir = os.path.dirname(os.path.abspath(program))
execfile(os.path.join(execdir, 'tmda-rfilter')) except KeyboardInterrupt:
pass
_____________________________________________ tmda-users mailing list ([email protected]) http://tmda.net/lists/listinfo/tmda-users
