Voici l'installation :
Nous avons un domaine, mondomaine.com. Tout est sur notre propre serveur, sauf les comptes de messagerie générale qui passent par gmail.
Actuellement, gmail est défini comme l'enregistrement MX.
Le serveur a également divers alias de courrier électronique qu'il doit prendre en charge pour les traqueurs de bogues et autres. Par exemple, bugs@mydomain.com |/path/to/issuetracker.script.
J'ai du mal à mettre en place une configuration qui permet ce qui suit, à la fois localement et à partir des clients de messagerie des utilisateurs.
- guser1 - a un compte gmail et un compte local
- guser2 - possède uniquement un compte gmail
- bugs - a un alias "pipe" dans /etc/aliases pour le traqueur de problèmes
Scénarios
- le courrier adressé à guser1@mydomain.com à partir de l'hôte local (crons et autres) doit aller au compte gmail
- courrier à guser2@mydomain.com à partir de l'hôte local
- le courrier adressé à bugs@mydomain.com doit être acheminé vers le gestionnaire de problèmes local script.
La première étape a donc consisté à créer une carte des transports. Dans ce scénario, notre serveur est défini comme MX et les emails destinés à l'utilisateur* sont envoyés à gmail. Mettez les utilisateurs de gmail dans une carte comme ceci :
guser1@mydomain.com smtp:gmailsmtp:25
guser2@mydomain.com smtp:gmailsmtp:25
Problèmes :
- Ignore les extensions telles que guser1+extension@mydomain.com
- Ne fonctionne que si append_at_myorigin = no (si défini à yes, gmail refuse de se connecter avec : E4C7E3E09BA3 : to=, relay=none, delay=0.05, delays=0.02/0.01/0.02/0, dsn=4.4.1, status=deferred (connect to gmail-smtp-in.l.google.com [209.85.222.57]:25 : Connection refused))
- depuis que append_at_myorigin est réglé sur no, tous les emails reçus ont (expéditeur inconnu)
La deuxième étape a consisté à définir des alias explicites pour localhost dans /etc/aliases et à effectuer une redirection à l'échelle du domaine sur mydomain. Cela nécessite également de définir le serveur local comme MX :
root: root@localhost
# transport
mydomain.com smtp:gmailsmtp:25
Problèmes : * Si je crée une carte de transport pour un domaine qui correspond à "$myhostname", le fichier d'alias n'est jamais analysé. Ainsi, lorsqu'un utilisateur local (ou un démon) envoie un courrier électronique du type :
mail -s "testing" root < text.txt
Postfix ignore l'entrée /etc/alias et établit une correspondance avec root@mydomain.com et tente de l'envoyer à la correspondance de transport gmail.
Troisième coup de couteau :
Créez un sous-domaine pour les bogues, quelque chose comme bugs.mondomaine.com. Définissez le MX de ce domaine sur le serveur local et laissez le MX de mydomain.com sur le serveur Gmail.
Problèmes : * Ne résout pas le problème des comptes locaux. Ainsi, lorsque le bug tracker répond à un courriel de guser1@mydomain.com, il utilise un transport local et l'utilisateur ne reçoit jamais le courriel.
% postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_at_myorigin = no
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = $myhostname, localhost.$myhostname, localhost
myhostname = mydomain.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_cert_file = /etc/ssl/certs/kspace.pem
smtp_tls_enforce_peername = no
smtp_tls_key_file = /etc/ssl/certs/kspace.pem
smtp_tls_note_starttls_offer = yes
smtp_tls_scert_verifydepth = 5
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_recipient_restrictions = permit_mynetworks, reject_invalid_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_destination
smtpd_tls_ask_ccert = yes
smtpd_tls_req_ccert = no
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
tls_random_source = dev:/dev/urandom
transport_maps = hash:/etc/postfix/transport