"Daniel Baron" <[EMAIL PROTECTED]> writes:

> I've got a problem with TMDA:
>
> - an unknown user sends a message to my user who's using TMDA
> - the message is intercepted and put into /pending, another file is putinto
> /responses (that's ok so far)
> - the user gets a message "your mail has been intercepted blabla replyto
> this link" (also ok)
> - when the user does so, his email address is put into lists/confirmed(ok)
> - he also gets a message "we've got your mail, your original mail hasbeen
> delivered". it hasn't, though. (not ok)

At this point, TMDA re-sends the message to the original recipient
(using the MTA on the local machine -- Courier, in your case) with a
special header field that says it has been successfully confirmed, so
that when the message comes through the second time TMDA won't
re-issue the challenge.

It does not, however, remove the message from pending/.

> - from that point on, the user can send mail without having to"register"
> again. (ok)
>
> So, what happens to that mail? it just stays in /pending.

Yes, and no.  It stays in pending/ and will be automatically cleaned
up at some point in the future, but this has no bearing on whether it
has been delivered.

> When i use tmda-pending with any parameter other than --help, i get an
> error:
>
> [EMAIL PROTECTED]/someuser/.tmda > tmda-pending -i
> Traceback (most recent call last):  File "/usr/local/bin/tmda-pending", line
> 271, in ?
> from TMDA import Pending  File
> "/usr/local/lib/python2.2/site-packages/TMDA/Pending.py", line34, in ?
> import Defaults  File
> "/usr/local/lib/python2.2/site-packages/TMDA/Defaults.py", line1534, in ?
> raise Errors.ConfigError, "Can't find key file: " + CRYPT_KEY_FILE
> TMDA.Errors.ConfigError: Can't find key
> file:/usr/local/courier/.tmda/crypt_key

You need to run tmda-pending as the user getting the mail.  However...

> Courier is the user running Courier MTA. It is also the owner of all the
> mail boxes (all users are virtual).

Since the users are virtual, you can't log in as one of them.
Presumably Courier has some mechanism for setting the $HOME
environment variable when it delivers a message?  I have no idea how
Courier implements virtual users but if messages are getting through
to TMDA and challenges are being sent, then the crypt_key is being
found at delivery time.

> TMDA is looking in the wrong place, the right homedir would be
> /var/mail/user/.tmda/whatever

But TMDA doesn't know anything about virtual users.  You would have to
tell tmda-pending which config file to use, first, and perhaps in the
user's config file the CRYPT_KEY variable is defined, pointing to the
correct location?

> So, what do I do? Is this error I get related to TMDA's not sending out that
> first mail? But it must know the user's homedir at some point, since it's
> able to go though all other steps correctly...

Exactly.  How it knows is the question.  We need more information
about how virtual users are configured with Courier.  What system user
does Courier setuid to when it runs program deliveries (tmda-filter)?

A good place to start is with the .courier files that are run for each
user.  Also, information from the Courier log relating to the original
message that TMDA re-sent would be helpful.  The message should have
been sent during the delivery of the confirmation reply (from the
original sender), as I noted in the sequence at the top of your
message.


Tim

_____________________________________________
tmda-users mailing list ([EMAIL PROTECTED])
http://tmda.net/lists/listinfo/tmda-users

Reply via email to