NOTE:  I'm quoting this entire message because I'm CC'ing it to Gordon,
       and this way, the complete description of the problem and the
       solution will be clear.


"Julian Mehnle" <[EMAIL PROTECTED]> writes:

> Lloyd Zusman [EMAIL PROTECTED] wrote:
>> I'm using courier-pythonfilter-0.6, and it has been working fine for
>> email coming into my system via SMTP.  It is also working fine for
>> email sent via local email clients running under 'root'.
>> 
>> However, if I try to send email to someone on my system using an email
>> client running under any of my local users, Courier logs the following
>> error message and the email doesn't get sent.  For example:
>> 
>>   Feb 29 23:38:46 myhost submit: Socket is not connected
>> 
>> I have set courier-pythonfilter to run under user ID "courier".
>> 
>> If I manually send the mail via "sendmail" via a non-"root" and
>> non-"courier" user, I see the following error message:
>> 
>>   432 Mail filters temporarily unavailable.
>>   sendmail: Unable to submit message.
>> 
>> For the users "root" or "courier", no such problem occurs.
>> 
>> There seem to be some socket permission issues.
>
> With Courier::Filter, I was having that "432 Mail filters temporarily
> unavailable"/"sendmail: Unable to submit message" problem, too.  This
> is what I had to add to Courier::Filter:
>
> | @@ -293,6 +293,9 @@
> |     or  unlink($socket_prename),
> |         throw Courier::Error("Unable to rename socket $socket_prename to 
> $socket_name");
> |      
> | +    chmod(0660, $socket_name)
> | +        or  throw Courier::Error("Unable to chmod socket $socket_name");
> | +    
> |      IO::File->new('<&=3')->close();
> |      
> |      my $filter = {
>
> I think Gordon will have to add something like that to pythonfilter as well.

Thank you very much.

Based on what you did with Courier::Filter, I patched
courier-pythonfilter-0.6 as follows, and it indeed fixed the problem:


*** pythonfilter.orig   Mon Mar  1 08:22:44 2004
--- pythonfilter        Mon Mar  1 08:25:37 2004
***************
*** 112,117 ****
--- 112,118 ----
      cf_socket = socket.socket( socket.AF_UNIX, socket.SOCK_STREAM )
      cf_socket.bind( cf_socket_prename )
      os.rename( cf_socket_prename, cf_socket_name )
+     os.chmod( cf_socket_name, 0660 )
      cf_socket.listen( 64 )
  except:
      # If the socket creation failed, remove sockets that might



-- 
 Lloyd Zusman
 [EMAIL PROTECTED]



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to