Ubuntu Postfix + Dovecot external mail set up: will send but wont receive

November 27, 2014 3.1k views

I am receiving this message in the mail log:

Nov 26 08:38:21 symbola postfix/lmtp[31011]: 8BC171421F9: to=<info@symbola.co.uk>, relay=localhost[private/lmtp], delay=2589, delays=2289/0.01/300/0, dsn=4.4.2, status=deferred (conversation with localhost[private/lmtp] timed out while receiving the initial server greeting)

When trying to receive mail in thunderbird the client times out but sending goes through fine...

Anyone got any ideas ?

2 Answers

This is probably a dovecot problem.

Because if you send an Emails in only goes through postfix.
The above error message tells you that postfix can't connect to dovecot the same goes for thunderbird.

Make sure dovecot ist running and listining on port 143 IMAP

Also for lmtp tarnsport you need something like this in your dovecot config:

service lmtp {
    unix_listener /var/spool/postfix/private/lmtp {
        user = postfix
        group = postfix
        mode = 0660
  }
}
  • Thanks for the reply, Dovecot is running...

    root@symbola:~# sudo netstat -tapen | grep ":143"
    tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      0          1134348     30994/dovecot
    tcp6       0      0 :::143                  :::*                    LISTEN      0          1134349     30994/dovecot
    
    

    and

    root@symbola:~# lsof -i :143
    COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
    dovecot 30994 root   39u  IPv4 1134348      0t0  TCP *:imap2 (LISTEN)
    dovecot 30994 root   40u  IPv6 1134349      0t0  TCP *:imap2 (LISTEN)
    
    

    I did have that in my config but id commented it out debugging...
    Its back in and im now getting connection refused.. nothing new in the mail log

    but in the dovecot log ive got this

    Nov 28 16:12:08 master: Error: service(lmtp): Socket already exists: /var/spool/postfix/private/lmtp
    Nov 28 16:12:08 master: Fatal: Failed to start listeners
    
    

    Here is my full /etc/dovecot/conf.d/10-master.conf

    #default_process_limit = 100
    #default_client_limit = 1000
    
    # Default VSZ (virtual memory size) limit for service processes. This is mainly
    # intended to catch and kill processes that leak memory before they eat up
    # everything.
    #default_vsz_limit = 256M
    
    # Login user is internally used by login processes. This is the most untrusted
    # user in Dovecot system. It shouldn't have access to anything at all.
    #default_login_user = dovenull
    
    # Internal user is used by unprivileged processes. It should be separate from
    # login user, so that login processes can't disturb other processes.
    #default_internal_user = dovecot
    
    service imap-login {
      inet_listener imap {
        #port = 0
      }
      inet_listener imaps {
        #port = 993
        #ssl = yes
      }
    
      # Number of connections to handle before starting a new process. Typically
      # the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
      # is faster. <doc/wiki/LoginProcess.txt>
      #service_count = 1
    
      # Number of processes to always keep waiting for more connections.
      #process_min_avail = 0
    
      # If you set service_count=0, you probably need to grow this.
      #vsz_limit = $default_vsz_limit
    }
    
    service pop3-login {
      inet_listener pop3 {
        #port = 0
      }
      inet_listener pop3s {
        #port = 995
        #ssl = yes
      }
    }
    service lmtp {
        unix_listener /var/spool/postfix/private/lmtp {
            user = postfix
            group = postfix
            mode = 0660
      }
    }
    #service lmtp {
    # unix_listener /var/spool/postfix/private/lmtp {
      # mode = 0666
     # user = postfix
    # group = postfix
    # }
    
      # Create inet listener only if you can't use the above UNIX socket
      #inet_listener lmtp {
        # Avoid making LMTP visible for the entire internet
        #address =
        #port =
      #}
    #}
    
    service imap {
      # Most of the memory goes to mmap()ing files. You may need to increase this
      # limit if you have huge mailboxes.
      #vsz_limit = $default_vsz_limit
    
      # Max. number of IMAP processes (connections)
      #process_limit = 1024
    }
    
    service pop3 {
      # Max. number of POP3 processes (connections)
      #process_limit = 1024
    }
    
    service auth {
      # auth_socket_path points to this userdb socket by default. It's typically
      # used by dovecot-lda, doveadm, possibly imap process, etc. Users that have
      # full permissions to this socket are able to get a list of all usernames and
      # get the results of everyone's userdb lookups.
      #
      # The default 0666 mode allows anyone to connect to the socket, but the
      # userdb lookups will succeed only if the userdb returns an "uid" field that
      # matches the caller process's UID. Also if caller's uid or gid matches the
      # socket's uid or gid the lookup succeeds. Anything else causes a failure.
      #
      # To give the caller full permissions to lookup all users, set the mode to
      # something else than 0666 and Dovecot lets the kernel enforce the
      # permissions (e.g. 0777 allows everyone full permissions).
      unix_listener /var/spool/postfix/private/auth_client {
        mode = 0666
        user = postfix
        group = postfix
      }
    
      unix_listener auth-userdb {
        mode = 0666
        user = vmail
        #group =
      }
    
      # Postfix smtp-auth
    unix_listener /var/spool/postfix/private/auth_client {
      mode = 0666
      user = postfix
      group = postfix
    }
    
      # Auth process is run as this user.
       user = dovecot
    }
    
    service auth-worker {
      # Auth worker process is run as root by default, so that it can access
      # /etc/shadow. If this isn't necessary, the user should be changed to
      # $default_internal_user.
      user = vmail
    }
    
    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 =
        #group =
      }
    }
    
    
Have another answer? Share your knowledge.