
Aquí está la configuración:
Tenemos un dominio, midominio.com. Todo está en nuestro propio servidor, excepto las cuentas de correo generales que son a través de gmail.
Actualmente, Gmail está configurado como registro MX.
El servidor también tiene varios alias de correo electrónico que debe admitir para rastreadores de errores y demás. p.ej[correo electrónico protegido]|/ruta/a/issuetracker.script
Tengo problemas con una configuración que permite lo siguiente, tanto localmente como desde los clientes de correo electrónico del usuario.
- guser1 - tiene una cuenta de Gmail y una cuenta local
- guser2 - sólo tiene una cuenta de gmail
- errores: tiene un alias de canalización en /etc/aliases para el rastreador de problemas
Escenarios
- correo a[correo electrónico protegido]desde el host local (crons y demás) debe ir a la cuenta de Gmail
- correo a[correo electrónico protegido]del anfitrión local
- correo a[correo electrónico protegido]debe canalizarse al script de seguimiento de problemas local
Entonces, el primer intento fue crear un mapa de transporte. En este escenario, nuestro servidor se configuraría como MX y los correos electrónicos destinados al usuario* se envían a Gmail. Coloque a los usuarios de Gmail en un mapa como este:
[email protected] smtp:gmailsmtp:25
[email protected] smtp:gmailsmtp:25
Problemas:
- Ignora extensiones como[correo electrónico protegido]
- Solo funciona si append_at_myorigin = no (si se establece en sí, gmail se niega a conectarse con: E4C7E3E09BA3: to=, relé=none, retraso=0.05, retrasos=0.02/0.01/0.02/0, dsn=4.4.1, estado=diferido (conéctese a gmail-smtp-in.l.google.com[209.85.222.57]:25: Conexión rechazada))
- Dado que append_at_myorigin está configurado en no, todos los correos electrónicos recibidos tienen (remitente desconocido)
El segundo intento fue establecer alias de host local explícitos en /etc/aliases y reenviar todo el dominio en midominio. Esto también requiere configurar el servidor local como MX:
root: root@localhost
# transport
mydomain.com smtp:gmailsmtp:25
Problemas: * Si creo un mapa de transporte para un dominio que coincide con "$myhostname", el archivo de alias nunca se analiza. Entonces, cuando un usuario local (o demonio) envía un correo electrónico como:
mail -s "testing" root < text.txt
Postfix ignora la entrada /etc/alias y asigna a[correo electrónico protegido]e intenta enviarlo al mapeo de transporte de Gmail.
Tercera puñalada:
Cree un subdominio para los errores, algo así como bugs.mydomain.com. Configure el MX para este dominio en el servidor local y deje el MX para midominio.com en el servidor de Gmail.
Problemas: * No soluciona el problema con las cuentas locales. Entonces, cuando el rastreador de errores responde a un correo electrónico de[correo electrónico protegido], utiliza un transporte local y el usuario nunca recibe el correo electrónico.
% 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
Respuesta1
Cambie a lo virtual. Lea los Documentos VIRTUALES por postfix. Tienes mucho más control de esa manera.
principal.cf:
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_mailbox_maps = hash:/etc/postfix/virtualmailboxmap
virtual_mailbox_domains = mydomain.com
virtual_transport = local:
virtual, enumera todos los usuarios que tienes
localuser localuser
somealias localuser
guser1 [email protected],guser1
bugs [email protected]
mapa de buzón virtual, enumera todos los usuarios locales, ¡el lado derecho no importa!
localuser rhsunused
guser1 rhsunused
transporte:
mydomain.com local:
gmail.mydomain.com smtp:gmailsmtp:25
issuetracker.mydomain.com smtp:[issuetracker ip]:25
Tuve esto con Cyrus: transporte para cuentas locales. Sé que esta no es una respuesta completa a todas sus preguntas, pero podría ser un comienzo.