Postfix: unsupported dictionary type: tcp

Discussion in 'ISPConfig 3 Priority Support' started by paka, Dec 12, 2017.

  1. paka

    paka Member

    Debian 8.10
    ISPConfig 3.1.9
    php (cli) version is 5.6.30-0+deb8u1
    The Perfect Server - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1)

    Currently unable to send or received email. Server was sending/receiving email OK for months (years?).

    Mail Error log (select entries:
    [..] mail postfix/cleanup[1650]: error: unsupported dictionary type: tcp
    [..] mail dovecot: auth-worker(16443): Error: mysql(localhost): Connect failed to database (dbispconfig): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) - waiting for 1 seconds before retry
    [..] mail dovecot: imap-login: Error: read(anvil) failed: EOF


    A web search found little information on the 'unsupported dictionary type: tcp' error. Some use postsrsd to correct this issue but this hasn't solved the problem. Postsrsd is installed on the server.

    After following the Perfect Server Debian 8.4 tutorial to reinstall, did run the ispconfig update.php script.
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    Seems as if you did not install the postfix-mysql package on your system. Please run the command:

    postconf -m

    and post the output.
     
  3. paka

    paka Member

    postconf -m

    Code:
    # postconf -m
    btree
    cidr
    environ
    fail
    hash
    internal
    memcache
    mysql
    nis
    proxy
    regexp
    sdbm
    socketmap
    static
    texthash
    unix
    
    postfix-mysql appears to be installed:
    Code:
    # aptitude search postfix-mysql
    i   postfix-mysql
    
    History (last two days):

    When it was noted mail was not going in or out, I did the following:

    1) An ISPConfig update to let it reconfig systems.
    - Issue remained -
    2) Followed the above Perfect Server tutorial up to step 9 (Install Amavisd-new, SpamAssassin, and ClamAV).
    a) Following Perfect Server, switched from MySQL and migrated to mariadb-client and mariadb-server which, of course, removed the old MySQL.
    - Issue remained -
    3) Ran the ISPConfig update script again.
    - Issue remained -
     
  4. till

    till Super Moderator Staff Member ISPConfig Developer

    Seems as f dovecot and postfix have both problems with MySQL. MySQL is running fine and the socket v/ar/run/mysqld/mysqld.sock exists?
     
  5. paka

    paka Member

    MySQL is running and serving dynamic content for several websites on the server.
    Code:
    /var/run/mysqld# ls -la
    total 4
    drwxr-xr-x  2 mysql root   80 Dec 12 15:54 .
    drwxr-xr-x 22 root  root  740 Dec 12 12:55 ..
    -rw-rw----  1 mysql mysql   6 Dec 12 15:54 mysqld.pid
    srwxrwxrwx  1 mysql mysql   0 Dec 12 15:54 mysqld.sock
     
  6. till

    till Super Moderator Staff Member ISPConfig Developer

    strange. Have xou tred t reboot the system? Did you alter something in postfix dynamicmaps.cf file?
     
  7. paka

    paka Member

    Yes, I'm bewildered. Rebooted on a number of occasions.

    I've not even looked in the postfix dynamicmaps.cf file. During a reinstall of postfix-mysql I've noted dynamicmaps.cf created but that's all I've done with it.

    The only change was migrating to MariaDB and even that was after I'd noted mail server problems.
     
  8. paka

    paka Member

    This appears to have been solved. Your inquiry about dynamicmaps.cf got me thinking. So I had a look and did a search.

    I found this forum post here at HowtoForge from over 11 years ago:
    https://www.howtoforge.com/community/threads/postfix-dynamicmaps-cf.6507/
    1. Verified the file dict_tcp.so existed on the server.
    2. Looked at dynamicmaps.cf.
      1. The sole entry was for type: mysql
    3. Added the following line to dynamicmaps.cf:
      1. tcp /usr/lib/postfix/dict_tcp.so dict_tcp_open
    4. Rebooted.
    5. Had to manually start postsrsd as it wasn't in the start-up list.
    After this checking the status of postfix, it appears to be processing mail. Started the mail client on my home desktop and mail had indeed started to be delivered.

    Here's the contents of dynamicmaps.cf which is working properly. Again, the only line initially was the one type:mysql. I added the tcp line which is what got the mail server processing both out and inbound mail.

    Code:
    # Postfix dynamic maps configuration file.
    #
    #type   location of .so file                    open function   (mkmap func)
    #====   ================================        =============   ============
    mysql   /usr/lib/postfix/dict_mysql.so          dict_mysql_open
    tcp     /usr/lib/postfix/dict_tcp.so            dict_tcp_open
    
    Many thanks for the assistance.
     
    till likes this.

Share This Page