On Sat, Jun 18, 2022 at 04:26:09PM -0600, Austin Witmer wrote:

> >> mydestination = $myhostname, sunlightmail.net, mail, localhost.localdomain,
> >>    localhost, encryptedmail.info, animaswoodcraft.com, animascreations.com,
> >>    appalachianmeats.com, mcmennonitechurch.org, thefabshop.net, 
> >> postal22.com,
> >>    rollingpastures.net
> 
> I am using virtual users in a postgresql database, so how do I
> properly setup virtual domains instead of listing them after
> mydestination?
> 
> When I added "virtual_mailbox_domains = example.com
> <http://example.com/>” instead of listing the domain after
> mydestination, incoming emails to users in that domain were rejected.
> How can I use virtual_mailbox_domains in conjunction with the users in
> my postgre database? 

You'll need to read BASIC_CONFIGURATION_README,
STANDARD_CONFIGURATION_README and VIRTUAL_README.  And likely the
Postfix book by Ralf and Patrick.

The short, but insufficient, version is that for
"virtual_mailbox_domains" users also need to be listed in
"virtual_mailbox_maps", even if the RHS is ignored because delivery is
via some delivery agent other the virtual(8) in Postfix.

This message is too short to be a virtual mailbox hosting tutorial for
Postfix + Dovecot.  Though a comparatively simple setup is possible.

> >> sender_bcc_maps = hash:/etc/postfix/regexp_sender_bcc
> >> smtp_destination_concurrency_failed_cohort_limit = 10
> >> smtp_destination_concurrency_limit = 1
> >> smtp_destination_rate_delay = 1s
> 
> A friend of mine advised me to use the final three lines to avoid
> problems when sending to yahoo accounts.

If this is just "@yahoo.com" users (I guess there are still some of
these left), then a dedicated transport for yahoo might be better.
But if you send so little mail that concurrency is rare, the global
setting may be sufficient, though needlessly slow at times.

> > Do you really need this as a global default?
> > 
> >> smtp_tls_cert_file = 
> >> /etc/letsencrypt/live/mail.sunlightmail.net/fullchain.pem
> >> smtp_tls_key_file = /etc/letsencrypt/live/mail.sunlightmail.net/privkey.pem
> > 
> > Why do you need a TLS client certificate issued by Let's Encrypt?
> > What receiving system expects this?
> 
> I have no idea! I put this in when following some tutorial.

Take these out.

> >> smtps      inet  n       -       -       -       -       smtpd
> >>    -o syslog_name=postfix/smtps
> >>    -o smtpd_tls_wrappermode=yes
> >>    -o smtpd_sasl_auth_enable=yes
> >>    -o smtpd_client_restrictions=permit_sasl_authenticated,reject
> >>    -o milter_macro_daemon_name=ORIGINATING
> >>    -o content_filter=gpgit-pipe
> >>    -o cleanup_service_name=subcleanup
> > 
> > Where is the override of "recipient restrictions" (and relay
> > restrictions).  This should be identical to the submission service
> > modulo "wrapper mode".
> 
> Are you saying I should add the following line to the submission service?
> 
> -o 
> smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject

And then set all the other lists empty.  Or make it
"smtpd_relay_restrictions" and set all the others empty.  The stock
master.cf file that ships with Postfix source has:

    submission inet n       -       n       -       -       smtpd
      -o syslog_name=postfix/submission
      -o smtpd_tls_security_level=encrypt
      -o smtpd_sasl_auth_enable=yes
      -o smtpd_tls_auth_only=yes
      -o smtpd_reject_unlisted_recipient=no
    #     Instead of specifying complex smtpd_<xxx>_restrictions here,
    #     specify "smtpd_<xxx>_restrictions=$mua_<xxx>_restrictions"
    #     here, and specify mua_<xxx>_restrictions in main.cf (where
    #     "<xxx>" is "client", "helo", "sender", "relay", or "recipient").
      -o smtpd_client_restrictions=
      -o smtpd_helo_restrictions=
      -o smtpd_sender_restrictions=
      -o smtpd_relay_restrictions=
      -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
      -o milter_macro_daemon_name=ORIGINATING

It does not matter which of "recipient" or "relay" restrictions you
set for submission, just explicit set all the others empty, this should
even include "smtpd_data_restrictions" and "smtpd_end_of_data_restrictions".
The goal is to make submission (outbound email from your users) insensitive
to ad-hoc anti-spam rules applied to inbound main in main.cf.

Once you have configured "submission" correction, apply exactly the same
settings to the port 465 TLS-wrapped service, with just the addition of:

    -o smtpd_tls_wrappermode=yes

and a change of the syslog_name:

    -o syslog_name=postfix/submissions

-- 
    Viktor.

Reply via email to