Question Gmail MX + postfix hybride pour les comptes locaux


Voici la configuration:

Nous avons un domaine, mydomain.com. Tout se trouve sur notre propre serveur, à l'exception des comptes de messagerie généraux via gmail.

Actuellement, gmail est défini comme enregistrement MX.

Le serveur dispose également de plusieurs alias de messagerie nécessaires à la prise en charge des traqueurs de bogues, etc. par exemple. bugs@mydomain.com | /path/to/issuetracker.script

Je suis aux prises avec une configuration qui permet les opérations suivantes, à la fois localement et à partir des clients de messagerie de l'utilisateur.

  1. guser1 - possède un compte gmail et un compte local
  2. guser2 - possède uniquement un compte gmail
  3. bugs - a un alias de pipe dans / etc / aliases pour le suivi des problèmes

Scénarios

  • mail à guser1@mondomaine.com à partir de l'hôte local (crons et autres) doit aller au compte gmail
  • mail à guser2@mondomaine.com depuis l'hôte local
  • mail to bugs@mydomain.com doit être redirigé vers le script de suivi des problèmes locaux

Ainsi, le premier coup de couteau a été de créer une carte de transport. Dans ce scénario, le serveur our sera défini de manière à ce que les e-mails destinés à MX et à guser * soient envoyés à gmail. Placez les utilisateurs de gmail dans une carte comme suit:

guser1@mydomain.com smtp:gmailsmtp:25
guser2@mydomain.com smtp:gmailsmtp:25

Problèmes:

  • Ignore les extensions telles que guser1+extension@mondomaine.com
  • Ne fonctionne que si append_at_myorigin = no (si la valeur est yes, gmail refuse de se connecter avec: E4C7E3E09BA3: à =, relais = aucun, délai = 0,05, délais = 0,02 / 0,01 / 0,02 / 0, dsn = 4.4.1, statut = différé (connectez-vous à gmail-smtp-in.l.google.com [209.85.222.57]: 25: connexion refusée))
  • append_at_myorigin étant défini sur non, tous les courriels reçus ont (expéditeur inconnu)

La deuxième méthode consistait à définir des alias de localhost explicites dans / etc / aliases et à effectuer un transfert de domaine sur mydomain. Cela nécessite également de définir le serveur local en tant que 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 mappe à root@mondomaine.com et tente de l'envoyer au mappage de transport gmail.

Troisième coup:

Créez un sous-domaine pour les bogues, quelque chose comme bugs.mondomaine.com. Définissez la MX pour ce domaine sur le serveur local et laissez la MX pour mydomain.com sur le serveur Gmail.

Problèmes: * Ne résout pas le problème avec les comptes locaux. Ainsi, lorsque le suivi des bogues répond à un courrier électronique de guser1@mondomaine.com, il utilise un transport local et l'utilisateur ne le reçoit jamais.

% 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

5
2018-06-08 23:48


origine




Réponses:


Passer au virtuel. Lisez les documents VIRTUAL par postfix. Vous avez beaucoup plus de contrôle de cette façon.

main.cf:

virtual_alias_maps = hash:/etc/postfix/virtual
virtual_mailbox_maps = hash:/etc/postfix/virtualmailboxmap
virtual_mailbox_domains = mydomain.com
virtual_transport = local:

virtuel, liste tous les utilisateurs que vous avez

localuser  localuser
somealias  localuser
guser1     guser1@gmail.mydomain.com,guser1
bugs       issuetracker@issuetracker.mydomain.com

virtualmailboxmap, liste tous les utilisateurs locaux, le côté droit n'a pas d'importance!

 localuser   rhsunused
 guser1      rhsunused

transport:

 mydomain.com      local:
 gmail.mydomain.com smtp:gmailsmtp:25
 issuetracker.mydomain.com smtp:[issuetracker ip]:25

J'ai eu cela avec un cyrus: transport pour les comptes locaux. Je sais que ce n'est pas une réponse complète à toutes vos questions, mais cela pourrait être un début.


2
2017-07-15 15:55