Re: Perdition + imap (maildrop doesn't send bounce back messages.
- Gejo Paul wrote:
> Dear All,Please do not post main.cf.. post 'postconf -n' instead because it's
> 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
> 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
easier to read and catches typos.
> smtpd_banner = $myhostname ESMTPTry to use example.(com|net|org) when making up domains for testing|hiding.
> mydomain = test
> myorigin = $mydomainDo not list $mydomain in both mydestination and virtual_mailbox_domains
> inet_interfaces = all
> mailbox_delivery_lock = flock
> virtual_mailbox_lock = flock
> myhostname = host1.test.in <http://host1.test.in/>
> mydestination = $myhostname, localhost.$mydomain,$mydomain,
(below). List it in only one class.
> unknown_local_recipient_reject_code = 550This is not a good idea. Virtual are virtual accounts. Local are local
> 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
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').
>Suggestion: Break out LDAP maps into their own file and reference like
> 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 =
> ldapsource_result_attribute = mailMessageStore
> ldapsource_scope = sub
> ldapsource_expansion_limit = 0
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
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.
>Um, why not just 'permit_mynetworks, reject' if this is to only send
> smtpd_recipient_restrictions = permit_mynetworks,
> reject_unknown_sender_domain, reject
from localhost ($mynetworks)?
Saves a DNS check.
>Same as above. Break this out and test, test, test.
> # 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 =
> 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
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