HowTo: (Wheezy) Mailserver with Postfix, Postfixadmin, MySQL, Dovecot, Spamassassin and Spamass-Milter

In my previous tutorials I used to save the e-mail users in the server’s filesystem but if you need to handle a big amount of users, it is easier to store them in a MySQL-Database. I use Postfixadmin to administrate the Users in the Database, it’s a simple Webinterface with great features. You can add Domainadmins, so your customers are able to add a specific number of Mailadresses or to change their passwords and more… Enough Talk!

This Tutorial will work fluently with a new Debian 7 ( Wheezy ) build.

BUT

!!!WITHOUT ANY WARRANTY!!!

last edited: 03.09.2014

Requirements:

  • MX-Record and PTR
  • at least 512 MB Ram
  • Debian Wheezy
  • Root Rights

Related:

New MailServer Script which installs Postfix, Postfixadmin, Dovecot, Spamassassin, ClamAV and LLMP.

Config-File Examples (recommended):

LLMP:

apt-get install mysql-server mysql-client lighttpd php5-mysql php5-cgi php5-imap dbconfig-common wwwconfig-common
lighty-enable-mod fastcgi cgi
cp /etc/lighttpd/conf-available/15-fastcgi-php.conf /etc/lighttpd/conf-enabled
service lighttpd restart

Choose a MySQL-Root password and write it down.

Postfix:

apt-get install postfix postfix-mysql

Choose “Internet-Site” and ignore the Hostname for now.

At /etc/postfix/main.cf

smtpd_banner = HOSTNAME ESMTP
biff = no
append_dot_mydomain = no
##delay_warning_time = 4h
#Restrictions
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_invalid_hostname,  reject_unknown_client, reject_rbl_client sbl-xbl.spamhaus.org
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_address, reject_unknown_sender_domain, reject_non_fqdn_sender
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_recipient_limit = 250
broken_sasl_auth_clients = yes
myhostname = HOSTNAME
mydomain = Main-Domain e.g. example.com 
alias_maps = hash:/etc/aliases
myorigin = $mydomain
mydestination = localhost, MX-Record e.g. mail.example.com 
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
mailbox_size_limit = 0
#SASL
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_use_tls=yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtpd_tls_cert_file=/etc/ssl/certs/SSL-Cert
smtpd_tls_key_file=/etc/ssl/private/SSL-Key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_received_header = yes
tls_random_source = dev:/dev/urandom
#Spamass Milter
smtpd_milters = unix:/spamass/spamass.sock
milter_connect_macros = j {daemon_name} v {if_name} _
milter_default_action = tempfail
# Virtual mailbox settings
virtual_mailbox_domains = proxy:mysql:$config_directory/mysql_virtual_domains_maps.cf
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps =
    proxy:mysql:$config_directory/mysql_virtual_mailbox_maps.cf,
    proxy:mysql:$config_directory/mysql_virtual_alias_domain_mailbox_maps.cf,
    proxy:mysql:$config_directory/mysql_virtual_alias_domain_catchall_maps.cf
virtual_alias_maps =
    proxy:mysql:$config_directory/mysql_virtual_alias_maps.cf,
    proxy:mysql:$config_directory/mysql_virtual_alias_domain_maps.cf
virtual_minimum_uid = 150
virtual_uid_maps = static:150
virtual_gid_maps = static:8
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1

The red parts have to be changed to your needs. If you do not have a valid SSL-Cert, it is possible to use a self-signed one. SASL-Login wont work until a valid mailbox exists. Postfix dont like it if there are completly no Mailboxes in /var/vmail. –> no shadow -> no sasl

Add user and group:

useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Virtual mailbox" vmail
mkdir /var/vmail
chmod 770 /var/vmail/
chown vmail:mail /var/vmail/

Add this to /etc/postfix/master.cf

dovecot   unix  -       n       n       -       -       pipe flags=DRhu
  user=vmail:mail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}

Postfix MySQL Configuration:

Add this files to /etc/postfix/ and change MYSQLPW to your own password. ( at least 9 characters – write it down – you will need it later )

/etc/postfix/mysql_virtual_alias_maps.cf

user = postfixadmin
password = MYSQLPW
hosts = localhost
dbname = postfixadmin
table = alias
query = SELECT goto FROM alias WHERE address = '%s' AND active = '1'

/etc/postfix/mysql_virtual_domains_maps.cf

user = postfixadmin
password = MYSQLPW
hosts = localhost
dbname = postfixadmin
table = domain
query = SELECT domain FROM domain WHERE domain = '%s' AND backupmx = '0' AND active = '1'

/etc/postfix/mysql_virtual_alias_domain_maps.cf

user = postfixadmin
password = MYSQLPW
hosts = localhost
dbname = postfixadmin
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'

/etc/postfix/mysql_virtual_mailbox_maps.cf

user = postfixadmin
password = MYSQLPW
hosts = localhost
dbname = postfixadmin
table = mailbox
query = SELECT maildir FROM mailbox WHERE username = '%s' AND active = '1'

/etc/postfix/mysql_virtual_alias_domain_mailbox_maps.cf

user = postfixadmin
password = MYSQLPW
hosts = localhost
dbname = postfixadmin
query = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active='1'

/etc/postfix/mysql_virtual_alias_domain_catchall_maps.cf

user = postfixadmin
password = MYSQLPW
hosts = localhost
dbname = postfixadmin
query  = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'

Set rights:

chgrp postfix /etc/postfix/mysql*.cf
chmod o-rwx /etc/postfix/mysql*.cf

Dovecot:

apt-get install dovecot-imapd dovecot-managesieved dovecot-mysql

If you need POP3 support:

apt-get install dovecot-pop3d

Add this to /etc/dovecot/dovecot.conf

dict {
  quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
  #expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
}

At /etc/dovecot/dovecot-dict-sql.conf.ext

connect = host=localhost dbname=postfixadmin user=postfixadmin password=DB-Password
map {
  pattern = priv/quota/storage
  table = quota2
  username_field = username
  value_field = bytes
}
map {
  pattern = priv/quota/messages
  table = quota2
  username_field = username
  value_field = messages
}
map {
  pattern = shared/expire/$user/$mailbox
  table = expires
  value_field = expire_stamp

  fields {
    username = $user
    mailbox = $mailbox
  }
}

At /etc/dovecot/dovecot-sql.conf.ext

driver = mysql
connect = host=localhost dbname=postfixadmin user=postfixadmin password=MYSQLPW
default_pass_scheme = MD5-CRYPT
# Get the mailbox
user_query = SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n' as mail, 150 AS uid, 8 AS gid, CONCAT('*:bytes=', CAST(quota AS CHAR)) AS quota_rule FROM mailbox WHERE username = '%u' AND active = '1'
# Get the password
password_query = SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, 'maildir:/var/vmail/%d/%n' as userdb_mail, 150 as userdb_uid, 8 as userdb_gid, CONCAT('*:bytes=', CAST(quota AS CHAR)) AS  userdb_quota_rule FROM mailbox WHERE username = '%u' AND active = '1'

At /etc/dovecot/conf.d/10-auth.conf … just edit the existing file

disable_plaintext_auth = no
auth_mechanisms = plain login

and uncomment

!include auth-sql.conf.ext

at the bottom.

At /etc/dovecot/conf.d/10-mail.conf … just edit the existing file

mail_location = maildir:/var/vmail/%d/%u
namespace inbox {
  inbox = yes
  subscriptions = yes
  mailbox Junk {
    special_use = \Junk
  }

}
mail_privileged_group = mail
first_valid_uid = 150
last_valid_uid = 150
mail_plugins = $mail_plugins quota trash

At /etc/dovecot/conf.d/10-master.conf … just edit the existing file

service lmtp {
  unix_listener lmtp {
    mode = 0666
    user = postfix
    group = postfix
  }
}
service auth {
  unix_listener auth-userdb {
    mode = 0666
    user = postfix
    group = mail
  }

  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    user = postfix
  }
}
service dict {
  # If dict proxy is used, mail processes should have access to its socket.
  # For example: mode=0660, group=vmail and global mail_access_groups=vmail
  unix_listener dict {
    mode = 0600
    user = vmail
    group = mail
  }
}

At /etc/dovecot/conf.d/10-ssl.conf … just edit the existing file

ssl = yes
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem

You can use your own Cert too…

At /etc/dovecot/conf.d/15-lda.conf … just edit the existing file

postmaster_address = postmaster@example.com
hostname = hostname.example.com
quota_full_tempfail = no
sendmail_path = /usr/sbin/sendmail
protocol lda {
  # Space separated list of plugins to load (default is global mail_plugins).
  mail_plugins = $mail_plugins quota trash sieve autocreate
}

At /etc/dovecot/conf.d/20-imap.conf … just edit the existing file

protocol imap {
mail_max_userip_connections = 10
mail_plugins = $mail_plugins quota trash autocreate
plugin {
autocreate = Trash
autocreate2 = Junk
#autocreate3 = ..etc..
autosubscribe = Trash
autosubscribe2 = Junk
#autosubscribe3 = ..etc..
 }
}

At /etc/dovecot/conf.d/20-lmtp.conf … just edit the existing file

protocol lmtp {
  # Space separated list of plugins to load (default is global mail_plugins).
  mail_plugins = $mail_plugins quota trash sieve
}

At /etc/dovecot/conf.d/20-managesieve.conf … just edit the existing file

protocols = $protocols sieve
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  service_count = 1
  vsz_limit = 64M
}
service managesieve {
  # Max. number of ManageSieve processes (connections)
  #process_count = 1024
}
protocol sieve {
}

At /etc/dovecot/conf.d/20-pop3.conf … just edit the existing file

protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
  mail_max_userip_connections = 10
mail_plugins = $mail_plugins quota autocreate
  plugin {
  autocreate = Trash
  autocreate2 = Junk
  #autocreate3 = ..etc..
  autosubscribe = Trash
  autosubscribe2 = Junk
  #autosubscribe3 = ..etc..
  }
}

At /etc/dovecot/conf.d/90-plugin.conf … just edit the existing file

plugin {
  mail_plugins = $mail_plugins quota trash sieve autocreate
}

At /etc/dovecot/conf.d/90-quota.conf … just edit the existing file

plugin {
  quota_rule = *:storage=1G
  quota_rule2 = Trash:storage=+100M
}
plugin {
  quota_warning = storage=70%% quota-warning 70 %u
  quota_warning2 = storage=80%% quota-warning 80 %u
}
service quota-warning {
  executable = script /usr/local/bin/quota-warning.sh # you're able to edit the warning 
  user = dovecot
  unix_listener quota-warning {
    user = vmail
  }
}
plugin {
  #quota = dirsize:User quota
  quota = maildir:User quota
  #quota = dict:User quota::proxy::quota
  #quota = fs:User quota
}

At /etc/dovecot/conf.d/auth-sql.conf.ext

passdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}

Rights:

chmod 600 /etc/dovecot/*.conf
chown root:dovecot /etc/dovecot/dovecot.conf
chmod 666 /var/log/dovecot.log

Spamassassin and Spamass-Milter:

apt-get install spamass-milter
groupadd spamd
useradd -g spamd -s /bin/false -d /var/lib/spamassassin spamd
mkdir /var/lib/spamassassin
chown spamd.spamd /var/lib/spamassassin -R
mkdir /var/run/spamassassin
usermod -a -G spamd spamass-milter

In /etc/default/spamassassin

ENABLED=1
CRON=1
SAHOME="/var/lib/spamassassin"
OPTIONS="--username spamd --nouser-config --max-children 2 --helper-home-dir ${SAHOME} --socketpath=/var/run/spamassassin/spamd.sock --socketowner=spamd --socketgroup=spamd --socketmode=0660"
PIDFILE="/var/run/spamassassin/spamd.pid"

In /etc/default/spamass-milter

OPTIONS="-u spamass-milter -m -I -i 127.0.0.1 -- --socket=/var/run/spamassassin/spamd.sock"

Postfixadmin:

Download the latest version from sourceforge!

dpkg -i postfixadmin_2.3.6-1_all.deb

The installer asks some easy questions:

-lighttpd

-yes

-MySQL

-Your MySQL-Password

-Your Postfixadmin-Database Password

At /etc/postfixadmin/config.inc.php…you should edit the existing file

<?php
require_once('dbconfig.inc.php');
if (!isset($dbserver) || empty($dbserver))
        $dbserver='localhost';
$CONF['configured'] = true;
$CONF['setup_password'] = 'YOUR SETUP PASSWORD';
$CONF['postfix_admin_url'] = 'http://hostname/postfixadmin';
$CONF['postfix_admin_path'] = dirname(__FILE__);
$CONF['default_language'] = 'en';
$CONF['database_type'] = $dbtype;
$CONF['database_host'] = $dbserver;
$CONF['database_user'] = $dbuser;
$CONF['database_password'] = $dbpass;
$CONF['database_name'] = $dbname;
$CONF['database_prefix'] = '';
$CONF['database_tables'] = array (
    'admin' => 'admin',
    'alias' => 'alias',
    'alias_domain' => 'alias_domain',
    'config' => 'config',
    'domain' => 'domain',
    'domain_admins' => 'domain_admins',
    'fetchmail' => 'fetchmail',
    'log' => 'log',
    'mailbox' => 'mailbox',
    'vacation' => 'vacation',
    'vacation_notification' => 'vacation_notification',
    'quota' => 'quota',
    'quota2' => 'quota2',
);
$CONF['admin_email'] = 'postmaster@example.com';
$CONF['smtp_server'] = 'localhost';
$CONF['smtp_port'] = '25';
$CONF['encrypt'] = 'md5crypt';
$CONF['authlib_default_flavor'] = 'crypt';
$CONF['dovecotpw'] = "/usr/sbin/dovecotpw";
$CONF['min_password_length'] = 5;
$CONF['generate_password'] = 'NO';
$CONF['show_password'] = 'NO';
$CONF['page_size'] = '10';
$CONF['default_aliases'] = array (
    'abuse' => 'postmaster@example.com',
    'hostmaster' => 'postmaster@example.com',
    'postmaster' => 'postmaster@example.com',
    'webmaster' => 'postmaster@example.com'
);
$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO';
$CONF['maildir_name_hook'] = 'NO';
$CONF['aliases'] = '100';
$CONF['mailboxes'] = '100';
$CONF['maxquota'] = '2048';
$CONF['quota'] = 'YES';
$CONF['quota_multiplier'] = '1048576';
$CONF['transport'] = 'NO';
$CONF['transport_options'] = array (
    'virtual',  // for virtual accounts
    'local',    // for system accounts
    'relay'     // for backup mx
);
$CONF['transport_default'] = 'virtual';
$CONF['vacation'] = 'NO';
$CONF['vacation_domain'] = 'autoreply.example.com';
$CONF['vacation_control'] ='YES';
$CONF['vacation_control_admin'] = 'YES';
$CONF['alias_control'] = 'NO';
$CONF['alias_control_admin'] = 'NO';
$CONF['special_alias_control'] = 'NO';
$CONF['alias_goto_limit'] = '0';
$CONF['alias_domain'] = 'YES';
$CONF['backup'] = 'YES';
$CONF['sendmail'] = 'YES';
$CONF['logging'] = 'YES';
$CONF['fetchmail'] = 'YES';
$CONF['fetchmail_extra_options'] = 'NO';
$CONF['show_header_text'] = 'NO';
$CONF['header_text'] = ':: Postfix Admin ::';
$CONF['user_footer_link'] = "http://example.com";
$CONF['show_footer_text'] = 'YES';
$CONF['footer_text'] = 'Return to example.com';
$CONF['footer_link'] = 'http://example.com';
$CONF['welcome_text'] = <<<EOM
Welcome to your new Mail-Account
EOM;
$CONF['emailcheck_resolve_domain']='YES';
$CONF['show_status']='NO';
$CONF['show_status_key']='NO';
$CONF['show_status_text']='&nbsp;&nbsp;';
$CONF['show_undeliverable']='NO';
$CONF['show_undeliverable_color']='tomato';
$CONF['show_undeliverable_exceptions']=array("unixmail.domain.ext","exchangeserver.domain.ext","gmail.com");
$CONF['show_popimap']='NO';
$CONF['show_popimap_color']='darkgrey';
$CONF['show_custom_domains']=array("subdomain.domain.ext","domain2.ext");
$CONF['show_custom_colors']=array("lightgreen","lightblue");
$CONF['recipient_delimiter'] = "";
$CONF['create_mailbox_subdirs_prefix']='';
$CONF['used_quotas'] = 'YES';
$CONF['new_quota_table'] = 'YES';
$CONF['theme_logo'] = 'images/logo-default.png';
$CONF['theme_css'] = 'css/default.css';
$CONF['xmlrpc_enabled'] = false;
if (file_exists(dirname(__FILE__) . '/config.local.php')) {
    include(dirname(__FILE__) . '/config.local.php');
}
//
// END OF CONFIG FILE
//
/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */

Edit /etc/postfixadmin/dbconfig.inc.php to your needs. Now it’s time for the Web-Setup. Generate your setup password at http://example.com/postfixadmin/setup.php and copy it to your Configfile.

Add an admin aaaaand you’re done. Now you’re able to login on the mainpage: http://example.com/postfixadmin, create your first mailbox and restart all services. After that everything should work fine.

 

Restart all services…

invoke-rc.d postfix restart && invoke-rc.d dovecot restart && invoke-rc.d spamass-milter restart && invoke-rc.d spamassassin restart

…and check /var/log/syslog or /var/log/mail.log for any problems.

Next time: Roundcube Webmail 😉

Links:
Edit:
05.06: Example-Files now available with a signed SSL-Cert
03.09: Example-Files available again

~ Alex

17 thoughts on “HowTo: (Wheezy) Mailserver with Postfix, Postfixadmin, MySQL, Dovecot, Spamassassin and Spamass-Milter

  1. Hi,

    I done everything like you, and I’ve got a problem with dovecot, this is what I get after restart :

    doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-master.conf line 19: Unknown setting: service
    doveconf: Error: managesieve-login: dump-capability process returned 89
    doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-master.conf line 19: Unknown setting: service
    [….] Restarting IMAP/POP3 mail server: dovecotdoveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-master.conf line 19: Unknown setting: service
    doveconf: Error: managesieve-login: dump-capability process returned 89
    doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-master.conf line 19: Unknown setting: service
    failed!
    invoke-rc.d: initscript dovecot, action “restart” failed.

  2. Hi,

    Do you know how to solve this problem ?

    Logs :

    Apr 7 20:42:11 serv5 spamass-milter[1621]: spamass-milter 0.3.2 starting
    Apr 7 20:42:11 serv5 spamd[1567]: server socket setup failed, retry 1: spamd: directory for /var/run/spamassass$
    Apr 7 20:42:12 serv5 spamd[1567]: server socket setup failed, retry 2: spamd: directory for /var/run/spamassass$
    Apr 7 20:42:13 serv5 spamd[1567]: server socket setup failed, retry 3: spamd: directory for /var/run/spamassass$
    Apr 7 20:42:14 serv5 spamd[1567]: server socket setup failed, retry 4: spamd: directory for /var/run/spamassass$
    Apr 7 20:42:15 serv5 spamd[1567]: server socket setup failed, retry 5: spamd: directory for /var/run/spamassass$
    Apr 7 20:42:16 serv5 spamd[1567]: server socket setup failed, retry 6: spamd: directory for /var/run/spamassass$
    Apr 7 20:42:17 serv5 spamd[1567]: server socket setup failed, retry 7: spamd: directory for /var/run/spamassass$
    Apr 7 20:42:18 serv5 spamd[1567]: server socket setup failed, retry 8: spamd: directory for /var/run/spamassass$
    Apr 7 20:42:19 serv5 spamd[1567]: server socket setup failed, retry 9: spamd: directory for /var/run/spamassass$
    Apr 7 20:42:20 serv5 spamd[1567]: spamd: directory for /var/run/spamassassin/spamd.sock does not exist, exiting
    Apr 7 20:42:20 serv5 dovecot: master: Dovecot v2.1.7 starting up (core dumps disabled)
    Apr 7 20:42:20 serv5 postfix/master[2427]: daemon started — version 2.9.6, configuration /etc/postfix
    Apr 7 20:43:35 serv5 postfix/smtpd[2469]: connect from localhost.localdomain[127.0.0.1]
    Apr 7 20:43:35 serv5 postfix/smtpd[2469]: warning: SASL: Connect to private/auth failed: No such file or direct$
    Apr 7 20:43:35 serv5 postfix/smtpd[2469]: fatal: no SASL authentication mechanisms
    Apr 7 20:43:36 serv5 postfix/master[2427]: warning: process /usr/lib/postfix/smtpd pid 2469 exit status 1
    Apr 7 20:43:36 serv5 postfix/master[2427]: warning: /usr/lib/postfix/smtpd: bad command startup — throttling

    • Hi,

      mkdir /var/run/spamassassin

      it`s a old debian/spamassassin bug -> write the command in your crontab @reboot

      Sasl installed?
      .. and u need that part below in your main.cf
      #SASL
      smtpd_sasl_auth_enable = yes
      smtpd_sasl_exceptions_networks = $mynetworks
      smtpd_sasl_local_domain = $myhostname
      smtpd_sasl_security_options = noanonymous
      broken_sasl_auth_clients = yes
      smtpd_sasl_type = dovecot
      smtpd_sasl_path = private/auth

      Regards,
      Alex

      • Found the sasl bug! Postfix dont like it if there are completly no Mailboxes in /var/vmail. –> no shadow -> no sasl

  3. Can you help me with this problem?

    doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-master.conf line 66: Unknown setting: service
    doveconf: Error: managesieve-login: dump-capability process returned 89
    doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-master.conf line 66: Unknown setting: service
    [….] Restarting IMAP/POP3 mail server: dovecotdoveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-master.conf line 66: Unknown setting: service
    doveconf: Error: managesieve-login: dump-capability process returned 89
    doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-master.conf line 66: Unknown setting: service

    my 10-master.con is this http://pastebin.com/JK419mE4

  4. Hi,

    I am having a problem after finishing the tutorial. When I restart all services (invoke …) I get this error message:

    doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: duplicate listener: /var/run/dovecot/auth-userdb

    Do you know what causes this?

    Cheers,
    cle

    • Please upload your conf.d folder and dovecot.conf to pastebin. I’ll have a look asap, probably my fault after changing some things.

    • Nope the port is open but my seafile-server makes trouble every day idk why…tryin to fix that. I’m going to upgrade to 3.0 anyway.

      #missing bracket -> check
      #removed fullstop -> check
      #explain that the part of the unix_listener auth-userdb is inside of the service auth{} -> check

      Kind Regards,
      Alex

  5. Hi Faulwurf,
    Im struggling with saslauthd, since telneting port 25 gives me tls as option (but no login auth option).
    i am only able to send mail via encrypted password, not when i choose TLS in Thunderbird.
    Thunderbird warns me, that the server doesnt offer STARTTLS.
    Any idea how to fix this?
    Greetings
    Ruth

    • Hi Ruth,

      does a valid mailbox exist?

      Please post your config files and log files anywhere for further investigations.

      Kind Regards,
      Faulwurf

  6. hello there and thank you for your information – I’ve definitely picked up anything new from right here. I did however expertise several technical points the use of this web site, as I experienced to reload the site a lot of occasions previous to I could get it to load correctly. I were considering if your hosting is OK? Now not that I am complaining, but sluggish loading circumstances occasions will sometimes affect your placement in google and can injury your quality rating if ads with Adwords. Well I’m adding this RSS to my e-mail and could glance out for a lot extra of your respective exciting content. Ensure that you update this once more very soon..

    • Hello 🙂 and thank you for your feedback. I’m afraid you mean the “google-adwords link blocks”? I don’t know why but Google doesnt provide >responsive< link blocks, i'm already working on this problem, but for now i removed them... Kind Regards, Alex

Leave a Reply

Your email address will not be published. Required fields are marked *