Estoy intentando realizar la instalación postfix
en una máquina Linux (Debian 8 con Postfix 2.11). Pero tengo algunos problemas para /etc/aliases
trabajar correctamente.
La configuración es la siguiente: Un servidor MS Exchange es el servidor de correo real: recibe y envía correos electrónicos y está en la misma red local que la máquina Linux. Postfix en la máquina Linux utiliza esta máquina Exchange como host de retransmisión para enviar correos electrónicos. Esto funciona, por ejemplo llega.mail [email protected]
Ahora en Exchange existe una dirección de correo que se reenvía a la máquina Linux. Tengo /etc/aliases
un alias para esto que es una tubería a un programa, porque los correos electrónicos que van a esta dirección contienen algún código que el programa debe analizar.
Para que esto funcione, tengo que modificar la mydestination
configuración en main.cf
. Pero tan pronto como lo hago, Postfix deja de retransmitir correos cuando /etc/aliases
se utiliza su alias. Sólo funciona escribir el nombre largo. Esta es mi configuración (empecé desde cero):
# main.cf
# our internet domain name (the thing after the "@")
mydomain = example.com
# this is the critical setting
mydestination = linuxmachine, 192.168.1.200, $mydomain
# IP of Exchange
relayhost = 192.168.1.100
# so that addresses look correct
masquerade_domains = $mydomain
# in order to make the pipe programm work with correct permission
default_privs = myuser
Con esta configuración la canalización del correo entrante funciona, pero el envío de correo a un alias no funciona:
# /etc/alias
# none of the entries are actual users on the linux machine!
#works when mail to [email protected] comes from external through Exchange to Linux
parser: |/home/user/programname
# command "mail external" does not work! It sends to external@linuxmachine"
external: [email protected]
Si comento la línea mydestination
, main.cf
envío mail external
un correo a [email protected]
(que llega), pero el correo entrante [email protected]
no se envía a través de la tubería. Entonces, justo al revés.
¿Qué tengo que ingresar main.cf
para /etc/aliases
poder enviar correos desde mi máquina Linux usando nombres cortos y al mismo tiempo poder recibir correo a una tubería? Todo lo que quiero es que se analice una dirección especial en la máquina Linux y que los usuarios de Linux puedan enviar correos electrónicos a direcciones seleccionadas usando nombres cortos como un "lujo" (en lugar de tener que escribir direcciones de correo electrónico completas).
Actualización:
postconf -n
salida:
config_directory = /etc/postfix
default_privs = myuser
masquerade_domains = $mydomain
mydestination = linuxmachine, 192.168.1.200, $mydomain
mydomain = example.com
relayhost = 192.168.1.100
Actualización 2: Salida /var/log/mail.info
al hacer mail external
(correo a alias) con mydestination
un conjunto como el anterior:
Jun 19 10:45:27 linuxmachine postfix/smtp[26425]: 6DFE02003AD: to=<[email protected]>, orig_to=<external>, relay=192.168.1.100[192.168.1.100]:25, delay=0.24, delays=0/0/0/0.24, dsn=2.6.0, status=sent (250 2.6.0 <[email protected]> [InternalId=162319] Queued mail for delivery)
Actualización 3, después de cambiar mydestination
de acuerdo con la respuesta propuesta, el mail.info
registro muestra la siguiente línea al hacer mail external
:
Jun 19 16:07:31 linuxmachine postfix/smtp[2299]: B562720039C: to=<[email protected]>, orig_to=<external>, relay=192.168.1.100[192.168.1.100]:25, delay=2.6, delays=0/0/0/2.5, dsn=2.6.0, status=sent (250 2.6.0 <[email protected]> [InternalId=162971] Queued mail for delivery)
Respuesta1
La solución obvia es poner $myhostname
o linuxmachine.example.com en el mydestination
parámetro.
explicación
Antes de la modificación de la configuración, aquí el evento en segundo plano después de enviar el correo electrónico a través demail external
- Postfix recibe correo electrónico a través del servicio de recogida.
- Porque el destinatario no tiene partes de dominio y parámetros (por defecto)
append_at_myorigin
tiene valoryes
, entonces postfix reescribirá la dirección del destinatario en[correo electrónico protegido](puedes verlo en mail.log arriba) - Por defecto, parámetro
mydestination
tiene valor$myhostname
o linuxmachine.example.com, por lo que postfix aplica el mapa de alias en/etc/aliases
. - Sufijo con alias[correo electrónico protegido]a[correo electrónico protegido]y luego enviarlo al host de Gmail
Ahora, después de la modificación de la configuración, esto es lo que sucede
- Postfix recibe correo electrónico a través del servicio de recogida.
- Porque el destinatario no tiene partes de dominio y parámetros (por defecto)
append_at_myorigin
tiene valoryes
, entonces postfix reescribirá la dirección del destinatario en[correo electrónico protegido](puedes verlo en mail.log arriba) - Ahora
mydestination
no contiene$myhostname
o linuxmachine.example.com, por lo que postfix no aplicará alias en/etc/aliases