Dovecot not listening on any port

Solution 1:

For others who may have similar issues, the closed ports issue in this particular configuration was caused by :

 service imap-login {
  inet_listener imap {
    port = 0
  }

The port number must be either specified (143 for IMAP). Alternatively, the "port = 0" line should be commented out which will allow dovecot to fallback and use default port values.

Another issue with this configuration is that, ssl was set to "no" where it should have been set to "required" seeing as snake-oil certificates are used in postfix config. As such, these should also be used in the dovecot config.

ssl = required
ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem 
ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key