Greetings
I updated the OS in a VPS blindly and broke the mail service. I had set up this service over four years ago and never had issues with upgrades until recently. I realized the gravity of my mistake after dovecot refused to start. Version 2.4.1 had arrived and I am in so much trouble.
So far, I have adapted the configuraton files to 2.4 standards. "doveadm auth test user" tells me that the authentication is working fine. I am able to view old mails via doveadm. However, I get nothing new from mail clients. The maillog tells me that mails are getting queued (why?). I see status=sent (250.2.0.0) in some transactions, but that is the extent of success. However, I still get a nagging error message (see the end of this mail).
dovecot -n
Pigeonhole version 2.4.1-4 (0a86619f)
OS: Linux 6.17.11-300.fc43.x86_64 x86_64 Fedora release 43 (Forty Three)
dovecot_config_version = 2.4.1 auth_debug = yes auth_mechanisms = plain login dovecot_storage_version = 2.4.1 first_valid_uid = xxxx mail_driver = maildir mail_home = /home/mails/%{user | domain}/%{user | username} mail_path = %{home}/Maildir mail_privileged_group = mail passdb_default_password_scheme = BLF-CRYPT protocols { imap = yes lmtp = yes sieve = yes } sql_driver = pgsql ssl = required ssl_cipher_list = PROFILE=SYSTEM pgsql localhost { parameters { dbname = postfix password = xxxxxxx user = postfix } } passdb sql {n query = SELECT username AS user, password FROM mailbox WHERE username = '%{user}' AND active='1' } userdb sql { query = SELECT '/home/mails/' || maildir AS home, xxxx as uid, xxxx as gid FROM mailbox WHERE username = '%{user}' AND active = '1' } namespace inbox { inbox = yes mailbox Drafts { auto = create special_use = "\\Drafts" } mailbox Junk { auto = create special_use = "\\Junk" } mailbox Trash { auto = create special_use = "\\Trash" } mailbox Sent { auto = create special_use = "\\Sent" } mailbox "Sent Messages" { special_use = "\\Sent" } } service lmtp { executable = lmtp -L process_min_avail = 5 user = vmail unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0600 user = postfix } } service stats { unix_listener stats-reader { group = vmail mode = 0660 user = vmail } unix_listener stats-writer { group = vmail mode = 0660 user = vmail } } ssl_server { cert_file = /etc/letsencrypt/live/xxxxxxx.com/fullchain.pem dh_file = /etc/dovecot/dh.pem key_file = /etc/letsencrypt/live/xxxxxxx.com/privkey.pem prefer_ciphers = server } protocol lmtp { info_log_path = /var/log/lmtp/dovecot-lmtp.log mail_plugins { sieve = yes } } service managesieve-login { inet_listener sieve { port = 4190 } } service managesieve { } protocol sieve { managesieve_implementation_string = Dovecot Pigeonhole } sieve_script personal { active_path = ~/.dovecot.sieve path = ~/sieve}
I did adjust an entry in postfix (master.cf). I switched from dovecot-lda to dovecot-lmtp. LDA was throwing permission errors when accessing the cert file. Most reference materials recommended LMTP because its processes already have the required privileges. So ...
master.cf (postfix)dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -a ${original_recipient} -d ${user}@${nexthop}#
maillog errors Dec 16 22:16:29 xxxxxxx.com dovecot[139456]: master: Error: bind(/run/dovecot/srv.imap-login/139456) failed: No such file or directory Dec 16 22:16:29 xxxxxxx.com dovecot[139456]: master: Fatal: Failed to create per-PID unix_listener %{pid}: net_listen_unix(/run/dovecot/srv.imap-login/139456) failed: No such file or directory Dec 16 22:16:29 xxxxxxx.com dovecot[809]: master: Error: service(imap-login): command startup failed, throttling for 2.000 secsDec 16 22:16:29 xxxxxxx.com dovecot[139216]: imap-login: Fatal: master: service(imap-login): child 139456 returned error 89 (Fatal failure) What am I missing?
Regards Onyeibo
Greetings
I updated the OS in a VPS blindly and broke the mail service. I had set up this service over four years ago and never had issues with upgrades until recently. I realized the gravity of my mistake after dovecot refused to start. Version 2.4.1 had arrived and I am in so much trouble.
So far, I have adapted the configuraton files to 2.4 standards. "doveadm auth test user" tells me that the authentication is working fine. I am able to view old mails via doveadm. However, I get nothing new from mail clients. The maillog tells me that mails are getting queued (why?). I see status=sent (250.2.0.0) in some transactions, but that is the extent of success. However, I still get a nagging error message (see the end of this mail).
dovecot -n
Pigeonhole version 2.4.1-4 (0a86619f)
OS: Linux 6.17.11-300.fc43.x86_64 x86_64 Fedora release 43 (Forty Three)
dovecot_config_version = 2.4.1 auth_debug = yes auth_mechanisms = plain login dovecot_storage_version = 2.4.1 first_valid_uid = xxxx mail_driver = maildir mail_home = /home/mails/%{user | domain}/%{user | username} mail_path = %{home}/Maildir mail_privileged_group = mail passdb_default_password_scheme = BLF-CRYPT protocols { imap = yes lmtp = yes sieve = yes } sql_driver = pgsql ssl = required ssl_cipher_list = PROFILE=SYSTEM pgsql localhost { parameters { dbname = postfix password = xxxxxxx user = postfix } } passdb sql {n query = SELECT username AS user, password FROM mailbox WHERE username = '%{user}' AND active='1' } userdb sql { query = SELECT '/home/mails/' || maildir AS home, xxxx as uid, xxxx as gid FROM mailbox WHERE username = '%{user}' AND active = '1' } namespace inbox { inbox = yes mailbox Drafts { auto = create special_use = "\\Drafts" } mailbox Junk { auto = create special_use = "\\Junk" } mailbox Trash { auto = create special_use = "\\Trash" } mailbox Sent { auto = create special_use = "\\Sent" } mailbox "Sent Messages" { special_use = "\\Sent" } } service lmtp { executable = lmtp -L process_min_avail = 5 user = vmail unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0600 user = postfix } } service stats { unix_listener stats-reader { group = vmail mode = 0660 user = vmail } unix_listener stats-writer { group = vmail mode = 0660 user = vmail } } ssl_server { cert_file = /etc/letsencrypt/live/xxxxxxx.com/fullchain.pem dh_file = /etc/dovecot/dh.pem key_file = /etc/letsencrypt/live/xxxxxxx.com/privkey.pem prefer_ciphers = server } protocol lmtp { info_log_path = /var/log/lmtp/dovecot-lmtp.log mail_plugins { sieve = yes } } service managesieve-login { inet_listener sieve { port = 4190 } } service managesieve { } protocol sieve { managesieve_implementation_string = Dovecot Pigeonhole } sieve_script personal { active_path = ~/.dovecot.sieve path = ~/sieve } I did adjust an entry in postfix (master.cf). I switched from dovecot-lda to dovecot-lmtp. LDA was throwing permission errors when accessing the cert file. Most reference materials recommended LMTP because its processes already have the required privileges. So ...
master.cf (postfix) dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -a ${original_recipient} -d ${user}@${nexthop}# maillog errors Dec 16 22:16:29 [1]xxxxxxx.com dovecot[139456]: master: Error: bind(/run/dovecot/srv.imap-login/139456) failed: No such file or directory Dec 16 22:16:29 [2]xxxxxxx.com dovecot[139456]: master: Fatal: Failed to create per-PID unix_listener %{pid}: net_listen_unix(/run/dovecot/srv.imap-login/139456) failed: No such file or directory Dec 16 22:16:29 [3]xxxxxxx.com dovecot[809]: master: Error: service(imap-login): command startup failed, throttling for 2.000 secs Dec 16 22:16:29 [4]xxxxxxx.com dovecot[139216]: imap-login: Fatal: master: service(imap-login): child 139456 returned error 89 (Fatal failure) What am I missing?
Regards Onyeibo
References
Visible links