#1  
Old 17th July 2010, 16:19
gerr1t gerr1t is offline
Junior Member
 
Join Date: Jul 2010
Posts: 14
Thanks: 0
Thanked 1 Time in 1 Post
Default Problem with maildelivery.

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
  }
Reply With Quote
Sponsored Links
  #2  
Old 18th July 2010, 11:12
gerr1t gerr1t is offline
Junior Member
 
Join Date: Jul 2010
Posts: 14
Thanks: 0
Thanked 1 Time in 1 Post
 
Default

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?
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Strange email problem for one of my domains... any help appreciated paulrobert_a Installation/Configuration 5 9th August 2010 15:15
ISPConfig3 Mail Warn Errors reason8 General 3 25th November 2009 14:58
BIG Problem Postfix issue admins Installation/Configuration 11 13th November 2009 11:05
postfix mysql on fedora core5 igongora Installation/Configuration 7 17th April 2007 05:40
SMTP TLS Problem with Mail Client dschmid Installation/Configuration 1 9th December 2005 02:56


All times are GMT +2. The time now is 04:55.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.