Hey folks! I have started working with ISPConfig for a couple of days now, so far its awsome! Great work! Allthough im running into a little trouble and was hoping you guys could help me out here. Normally ISPConfig puts the website data and maildata in /var. I changed this in the ISPConfig manager to /home (/sites and /vmail). This is because my /home partition is the largest . After I made some vmail domains and users everything went well, ISPconfig was able to create the directory's in /home. Following the fact that the directory's were created perfectly I deleted /var/vmail, because it was useless for me now (at least, that is what I thought), that is probably where it went wrong.. Everyone I send an e-mail to a user on my ISPconfig server I get the following error message in my mail.log: Code: relay=maildrop, delay=0.07, delays=0.01/0.01/0/0.06, dsn=4.3.0, status=deferred (temporary failure. Command output: /usr/bin/maildrop: Unable to change to home directory. ) So I started researching another server of mine that has ISPconfig installed on it and noticed that I had a file missing, /var/vmail/mailfilters/.mailfilter. So I copied the file and put on the new server. Now Maildrop was able to put it .. somewhere.. But here's the weird thing now, Maildrop doesnt drop the mail in the user directory's but drops them all in one big file in /var/vmail/Maildir. All the incoming e-mails are stored into that file. Any ideas would be appreciated! Below you can find my main.cf and the contents of .mailfilter Code: # See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h readme_directory = /usr/share/doc/postfix # TLS parameters smtpd_tls_cert_file = /etc/postfix/smtpd.cert smtpd_tls_key_file = /etc/postfix/smtpd.key smtpd_use_tls = yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. myhostname = (hidden) alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = (hidden), localhost, localhost.localdomain relayhost = mynetworks = 127.0.0.0/8 [::1]/128 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all html_directory = /usr/share/doc/postfix/html virtual_alias_domains = virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf virtual_mailbox_base = /var/vmail/ virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination smtpd_tls_security_level = may transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf virtual_create_maildirsize = yes virtual_maildir_extended = yes virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf virtual_mailbox_limit_override = yes virtual_maildir_limit_message = "The user you are trying to reach is over quota." virtual_overquota_bounce = yes proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf maildrop_destination_concurrency_limit = 1 maildrop_destination_recipient_limit = 1 virtual_transport = maildrop header_checks = regexp:/etc/postfix/header_checks mime_header_checks = regexp:/etc/postfix/mime_header_checks nested_header_checks = regexp:/etc/postfix/nested_header_checks body_checks = regexp:/etc/postfix/body_checks content_filter = amavis:[127.0.0.1]:10024 receive_override_options = no_address_mappings message_size_limit = 0 Code: # # Import variables # LOGNAME=tolower("$LOGNAME") EXTENSION="$1" RECIPIENT=tolower("$2") USER=tolower("$3") HOST=tolower("$4") SENDER="$5" DEFAULT="/home/vmail/$HOST/$USER/." # Workaround for broken tolower function in some current fedora releases if(!$USER) { USER=$3 } if(!$HOST) { HOST=$4 } if ( "$EXTENSION" ne "" ) { DELIMITER="+" } if (!$SENDER) { SENDER = "<>" } # # Autocreate maildir, if not existant # `test -e /home/vmail/$HOST` if ( $RETURNCODE != 0 ) { `mkdir /home/vmail/$HOST` } `test -e /home/vmail/$HOST/$USER` if ( $RETURNCODE != 0 ) { `maildirmake /home/vmail/$HOST/$USER` `chmod -R 0700 /home/vmail/$HOST` } # Check if the user has a autoresponder enabled `test -f /home/vmail/mailfilters/$HOST/$USER/.autoresponder` if ( $RETURNCODE == 0 ) { include "/home/vmail/mailfilters/$HOST/$USER/.autoresponder" } # Create a mailsize file `echo $SIZE >> /home/vmail/$HOST/$USER/ispconfig_mailsize` # # Test if the user has his own maildrop include, # if not available, check if $DEFAULT is set # (newer maildrop get's that from the DB and updates # it) and deliver or fail temporarily if not available # `test -f /home/vmail/mailfilters/$HOST/$USER/.mailfilter` if ( $RETURNCODE == 0 ) { include "/home/vmail/mailfilters/$HOST/$USER/.mailfilter" } else { if ( "$DEFAULT" ne "" ) { to "$DEFAULT" } else { EXITCODE=75 exit }
Ah, I found out this is actually partly a bug within ISPconfig. Changing the mail directory in the ISPconfig interface does the following: 1. It does makes your client log into the new directory, instead of /var/vmail. But: 2. ISPconfig scripts still make the directory's in /var/vmail. 3. The mail gets delivered in /var/vmail, despite of the changes you make to mail deliverery directory. Can anyone acknowledge?