[prev in list] [next in list] [prev in thread] [next in thread] 

List:       postfix-users
Subject:    Re: Perdition + imap (maildrop doesn't send bounce back messages.
From:       Brian Evans - Postfix List <grknight () scent-team ! com>
Date:       2008-07-31 16:51:34
Message-ID: 4891ED96.4050204 () scent-team ! com
[Download RAW message or body]

Gejo Paul wrote:
> Dear All,
>
> I am using  postfix + perdition + courier + ldap+ maildir (mail quota) 
> on my mail servers.
> All the functions are working fine on the server except one small 
> issue on my backend servers.
> I configured mail quota on the mail servers, suppose if the user quota 
> becomes full
> condition 1 (working fine)
> if the sender mailbox and receiver mailbox existing on the same mail 
> server the sender get a bounce back message stating that user quota is 
> full.
> condition 2 (no bounce back message)
> if the sender and receiver mailbox existing on  two different machines 
> , it doesn't  bounce back any messages.bcoz the receiver home 
> directory is not existing on the same server
>
>
> Back end server  main.cf <http://main.cf/> file
Please do not post main.cf.. post 'postconf -n' instead because it's 
easier to read and catches typos.
> smtpd_banner = $myhostname ESMTP
> mydomain = test
Try to use example.(com|net|org) when making up domains for testing|hiding.
> myorigin = $mydomain
> inet_interfaces = all
> mailbox_delivery_lock = flock
> virtual_mailbox_lock = flock
> myhostname = host1.test.in <http://host1.test.in/>
> mydestination = $myhostname, localhost.$mydomain,$mydomain,
> localhost.localdomain
Do not list $mydomain in both mydestination and virtual_mailbox_domains 
(below). List it in only one class.
> unknown_local_recipient_reject_code = 550
> mynetworks = 127.0.0.0/8 <http://127.0.0.0/8>
>
>
> relay_domains = $mydestination
> alias_maps = hash:/etc/postfix/aliases
> home_mailbox = Maildir/
>
> local_recipient_maps = $virtual_mailbox_maps
This is not a good idea.  Virtual are virtual accounts.  Local are local 
accounts.  Don't try to combine the two.  This also can break things, 
such as ignoring alias_maps above.
Recommend to remove this setting and use the default.
Set 'local_recipient_maps = ' if you don't want to accept email for 
local (danger: this breaks system services that email 'root').
>
> #local_transport=virtual
> local_transport=maildrop
> virtual_transport=maildrop
> maildrop_destination_recipient_limit = 1
>
> # Virtual Domain Settings
> virtual_mailbox_base = /
> virtual_mailbox_maps = ldap:ldapsource
> virtual_uid_maps = static:1000
> virtual_gid_maps = static:1000
> virtual_minimum_uid = 1000
> virtual_result_attribute = mailMessageStore

> # Ldap Mail address lookup/ Mailbox MAPS
> ldapsource_timeout = 60
> ldapsource_server_host = 192.168.0.250 <http://192.168.0.250/>
> ldapsource_search_base = o=test
> ldapsource_server_port = 389
> ldapsource_query_filter = 
> (&(|(mail=%s)(mailAlternateAddress=%s))(!(nsAccountLock=true)))
> ldapsource_result_attribute = mailMessageStore
> ldapsource_scope = sub
> ldapsource_expansion_limit = 0
Suggestion:   Break out LDAP maps into their own file and reference like 
ldap:$config_directory/ldapsource (you don't need to postmap LDAP maps)
Reason:  You can use 'postmap -q' to test maps and see what Postfix gets 
back.
You may need to rewrite this to check the localmailHost (as shown below) 
matches this server.
Always return 0 rows if it does *not* exist on this machine.
>
>
> smtpd_recipient_restrictions =   permit_mynetworks, 
> reject_unknown_sender_domain, reject
Um, why not just 'permit_mynetworks, reject' if this is to only send 
from localhost ($mynetworks)?
Saves a DNS check.

>
> # Size Management for messages.
> message_size_limit = 6000000
>
> # Performance Management
> default_process_limit = 200
> smtpd_error_sleep_time = 0s
> smtp_helo_timeout = 60s
> smtpd_recipient_limit = 25
> maximal_queue_lifetime = 2d
> bounce_queue_lifetime = 2d
> qmgr_message_active_limit = 50000
> qmgr_message_recipient_limit = 50000
> in_flow_delay = 0s
>
> relayhost = [192.168.0.253 <http://192.168.0.253/>]
>
> header_checks = regexp:/etc/postfix/header_checks.access
>
> virtual_mailbox_domains = $mydomain,
>
>
> ERROR LOG
>  relay=maildrop, delay=0, status=deferred (temporary failure. Command 
> output: /usr/local/bin/maildrop: Unable to change to home directory.
>
> After i went through the  posfix mailing list 
> http://readlist.com/lists/postfix.org/postfix-users/13/66180.html , i 
> added transport maps on main .cf , but no luck
>
> I added transport_maps on main.cf <http://main.cf/> file
> transport_maps = ldap:transport
> # transport maps
> transport_timeout = 60
> transport_server_host = x.x.x.x
> transport_search_base = o=test
> transport_query_filter = 
> (&(|(mail=%s)(mailAlternateAddress=%s))(!(nsAccountLock=true)))
> transport_result_attribute = localmailHost
> transport_result_filter = smtp:%s
> transport_scope = sub
> transport_expansion_limit = 0
>
> I am looking for a breakthrough to tackle this issue
>

Same as above. Break this out and test, test, test.
Note: I would return (in your case) maildrop: if virtual on this 
machine, and smtp:%s otherwise to avoid loops, but this is beyond my 
LDAP knowledge.

Brian
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic