J'ai parfois besoin d'envoyer un courrier via une adresse d'expéditeur qui serait normalement reçue par une adresse de courrier fourre-tout. Mais la méthode normale pour manipuler le courrier de retour n'est pas une bonne solution. J'utilise donc un scénario "fonctionnel" avec i-MSCP + RoundCube :
- des boîtes aux lettres fixes et un fourre-tout
- Si j'ai besoin d'envoyer via une adresse mail dynamique (qui sera capturée par catchall), j'enregistre une boîte aux lettres (temporaire pour ce mail ou boîte aux lettres+reproduction) et utilise la nouvelle crédence avec RoundCube.
Mais maintenant j'ai un serveur minimal sans logiciel de gestion. J'ai configuré postfix avec des boîtes aux lettres fixes et un catchall (basé sur regex + liste noire). Aussi Dovecot fonctionne avec IMAP et le credential catchall. En plus de ne pas pouvoir envoyer de courrier via un client de messagerie pour le moment (problèmes d'authentification), je veux un moyen beaucoup plus facile d'envoyer un courrier depuis n'importe quelle adresse. Je ne veux pas enregistrer quelque chose, juste utiliser <dynamic name>@domain.tld
et un mot de passe global.
Mon postfix/Dovecot :
- plusieurs domaines
- pas de base de données, seulement des fichiers de hachage et de regex
- maildir (presque standard)
- pas d'utilisateurs virtuels (catchall a son propre utilisateur unix)
- aucune manipulation de transport
Quelle est l'arme secrète de Postfix pour réaliser ce scénario d'envoi ?
mon main.cf
(la connexion via smtp ne fonctionne pas encore, l'envoi général et l'imap fonctionnent :
myhostname = domain.tld
smtpd_banner = $myhostname ESMTP $mail_name
biff = no
append_dot_mydomain = no
delay_warning_time = 4h
readme_directory = no
smtpd_tls_cert_file=/etc/letsencrypt/live/domain.tld/cert.pem
smtpd_tls_key_file=/etc/letsencrypt/live/domain.tld/privkey.pem
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_security_level = may
smtpd_tls_auth_only = no
smtpd_tls_received_header = yes
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_protocols = !SSLv2, !SSLv3
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, domain.tld, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
mynetworks_style = host
home_mailbox = Maildir/
virtual_alias_maps = hash:/etc/postfix/virtual, regexp:/etc/postfix/regexp_virtual
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipient_access, permit_mynetworks, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd