"Steve" == Steve Dondley s@dondley.com writes:
Steve> When I send an email to a single user on a server, it is received by the Steve> user without a problem. But when sending to multiple users, the emails Steve> disappear into a black hole. The logs contain no errors and indicate the Steve> emails were sent:
How is postfix delivering email to dovecot? You give your postconf output, but we need to see oyur master.cf file as well. I use the spamass-milter in my postfix config, and my master.cf has something like this:
# Updated to support + addressing, 20210402 spamass-dovecot unix - n n - - pipe flags=DRhu user=mail:mail argv=/usr/bin/spamc -u debian-spamd -e /usr/lib/dovecot/deliver -a ${recipient} -d ${user}@${domain}
As you can guess, my mail setup runs on Debian Buster. So the details can matter. But all my emails are delivered through spamassisin, then filtered with Sieve on the header into the INBOX or Junk folders.
Steve> Apr 5 13:10:29 email postfix/pipe[31703]: F3A912027D: Steve> to=pete2@example.org, relay=spamassassin, delay=1.6, Steve> delays=0.12/0/0/1.5, dsn=2.0.0, status=sent (delivered via spamassassin Steve> service (X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on Steve> email.example.org X-Spam-Level: X-Spam-Stat))
Steve> Apr 5 13:10:29 email postfix/pipe[31703]: F3A912027D: Steve> to=pete3@example.org, relay=spamassassin, delay=1.6, Steve> delays=0.12/0/0/1.5, dsn=2.0.0, status=sent (delivered via spamassassin Steve> service (X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on Steve> email.example.org X-Spam-Level: X-Spam-Stat))
Steve> However, when I check the inboxes for the recipients, the email is Steve> nowhere to be found. I tried lifting the receiving/concurrent limits but Steve> to no effect. I have other servers with very similar configurations to Steve> this one but I'm not having issues with them. lmtp is the local delivery Steve> agent.
Steve> My postconf:
Steve> alias_maps = hash:/etc/aliases Steve> biff = no Steve> broken_sasl_auth_clients = yes Steve> command_directory = /usr/sbin Steve> compatibility_level = 2 Steve> daemon_directory = /usr/lib/postfix/sbin Steve> data_directory = /var/lib/postfix Steve> debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd Steve> $daemon_directory/$process_name $process_id & sleep 5 Steve> default_destination_concurrency_limit = 5 Steve> home_mailbox = Maildir/ Steve> inet_interfaces = all Steve> lmtp_destination_concurrency_limit = 5 Steve> lmtp_destination_recipient_limit = 5 Steve> local_destination_concurrency_limit = 5 Steve> local_destination_recipient_limit = 5 Steve> mail_owner = postfix Steve> mailbox_size_limit = 3145728000 Steve> mailbox_transport = lmtp:unix:private/dovecot-lmtp Steve> mailq_path = /usr/bin/mailq Steve> message_size_limit = 26214400 Steve> milter_default_action = accept Steve> milter_protocol = 6 Steve> mydestination = $myhostname localhost.$mydomain localhost $mydomain Steve> mydomain = example.org Steve> myhostname = email.example.org Steve> mynetworks_style = subnet Steve> myorigin = example.org Steve> non_smtpd_milters = $smtpd_milters Steve> policyd-spf_time_limit = 3600 Steve> recipient_bcc_maps = pcre:/etc/postfix/recipient_bcc Steve> recipient_delimiter = + Steve> sendmail_path = /usr/sbin/sendmail Steve> setgid_group = postdrop Steve> smtp_tls_note_starttls_offer = yes Steve> smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache Steve> smtp_use_tls = yes Steve> smtpd_banner = $myhostname ESMTP Steve> smtpd_milters = unix:/opendkim/opendkim.sock Steve> smtpd_recipient_restrictions = permit_mynetworks, Steve> permit_sasl_authenticated, reject_unauth_destination, Steve> check_policy_service unix:private/policyd-spf Steve> smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated Steve> defer_unauth_destination Steve> smtpd_sasl_auth_enable = yes Steve> smtpd_sasl_local_domain = $myhostname Steve> smtpd_sasl_path = private/auth Steve> smtpd_sasl_security_options = noanonymous Steve> smtpd_sasl_type = dovecot Steve> smtpd_sender_login_maps = pcre:/etc/postfix/login_maps.pcre Steve> smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch Steve> smtpd_tls_cert_file = Steve> /etc/letsencrypt/live/email.example.org/fullchain.pem Steve> smtpd_tls_key_file = /etc/letsencrypt/live/email.example.org/privkey.pem Steve> smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache Steve> smtpd_use_tls = yes Steve> unknown_local_recipient_reject_code = 550 Steve> virtual_alias_maps = hash:/etc/postfix/virtual Steve> virtual_mailbox_limit = 26214400 Steve> virtual_transport = lmtp:unix:private/dovecot-lmtp
Steve> And doveconf:
Steve> # 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf Steve> # Pigeonhole version 0.5.4 () Steve> # OS: Linux 4.19.0-14-cloud-amd64 x86_64 Debian 10.9 Steve> # Hostname: email.example.org Steve> auth_mechanisms = plain login Steve> auth_username_format = %Ln Steve> disable_plaintext_auth = no Steve> mail_debug = yes Steve> mail_location = maildir:~/Maildir Steve> mail_privileged_group = mail Steve> managesieve_notify_capability = mailto Steve> managesieve_sieve_capability = fileinto reject envelope Steve> encoded-character vacation subaddress comparator-i;ascii-numeric Steve> relational regex imap4flags copy include variables body enotify Steve> environment mailbox date index ihave duplicate mime foreverypart Steve> extracttext Steve> namespace inbox { Steve> inbox = yes Steve> location = Steve> mailbox Drafts { Steve> special_use = \Drafts Steve> } Steve> mailbox Junk { Steve> special_use = \Junk Steve> } Steve> mailbox Sent { Steve> special_use = \Sent Steve> } Steve> mailbox "Sent Messages" { Steve> special_use = \Sent Steve> } Steve> mailbox Trash { Steve> special_use = \Trash Steve> } Steve> prefix = Steve> } Steve> passdb { Steve> args = /etc/dovecot/aliases Steve> driver = passwd-file Steve> } Steve> passdb { Steve> driver = pam Steve> } Steve> plugin { Steve> recipient_delimiter = + Steve> sieve = file:~/sieve;active=~/.dovecot.sieve Steve> sieve_default = /var/lib/dovecot/sieve/default.sieve Steve> sieve_default_name = Defaults Steve> sieve_global = /var/lib/dovecot/sieve Steve> } Steve> pop3_client_workarounds = outlook-no-nuls Steve> protocols = " imap lmtp sieve pop3 sieve" Steve> service auth { Steve> unix_listener /var/spool/postfix/private/auth { Steve> group = postfix Steve> mode = 0666 Steve> user = postfix Steve> } Steve> unix_listener auth-userdb { Steve> mode = 0666 Steve> } Steve> } Steve> service imap-login { Steve> inet_listener imap { Steve> port = 143 Steve> } Steve> inet_listener imaps { Steve> port = 993 Steve> ssl = yes Steve> } Steve> } Steve> service imap { Steve> client_limit = 1 Steve> } Steve> service lmtp { Steve> client_limit = 1 Steve> unix_listener /var/spool/postfix/private/dovecot-lmtp { Steve> group = postfix Steve> mode = 0600 Steve> user = postfix Steve> } Steve> } Steve> service managesieve-login { Steve> inet_listener sieve { Steve> port = 4190 Steve> } Steve> } Steve> service pop3-login { Steve> inet_listener pop3s { Steve> port = 995 Steve> ssl = yes Steve> } Steve> } Steve> service submission-login { Steve> inet_listener submission { Steve> port = 587 Steve> } Steve> } Steve> ssl_cert = ssl_client_ca_dir = /etc/ssl/certs Steve> ssl_dh = # hidden, use -P to show it Steve> ssl_key = # hidden, use -P to show it Steve> userdb { Steve> driver = passwd Steve> } Steve> protocol lmtp { Steve> mail_plugins = " sieve" Steve> }