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.