0
Como instalar un servidor de smtp para relay.

Solved 5 Respuestas 1 Views
Buenos dias,

Estoy necesitando instalar un servidor de relay smtp para reemplazar el actual de la empresa.

Hoy en dia usamos el SMTP del IIS de Windows que anda barbaro y cumple con todo lo que requiero. Pero la idea es llevarlo a un Centos7, para evitarnos la licencia.

El objetivo es que los sistemas envien sus correos a este smtp, este a su vez, los envia directamente al servidor de destino.

Por ejemplo: el Servidor1 envia un mail desde [email protected] a [email protected] seria algo asi:

Servidor1 --> relay.lan.int --> internet --> mx lapapa.com --> [email protected]

¿Alguna recomendacion como para orientarme?

5 Respuestas

0
Mejor respuesta

Gracias de nuevo gente, les cuento que ahora si funciona, basicamente volvi a empezar de cero (Releyendo varios sitios que google, y estas notas https://tecadmin.net/install-and-configure-postfix-on-centos-redhat/ ) funciono.

Si bien llega a SPAM mi prueba, es por los SPF y demas. Esto es lo de menos hasta que le ponga la IP correcta.

Me queda:
- Ver como limitar la lista de IPs que pueden mandar mails

Les paso la info que pedia Emiliano por si hay algo que ver/recomendar.

Va la salida del postconf -n:

# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sl                                                                             eep 5
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = cx.ar
myhostname = mail.conexia.com
mynetworks = 192.168.0.0/24, 192.168.151.0/24, 127.0.0.0/8
myorigin = $myhostname
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
relay_domains = $mydestination
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550

La del tail:
# tail -f /var/log/maillog
Jun 21 14:33:38 vm-centos7-prueba postfix/smtpd[6008]: connect from unknown[192.168.151.217]
Jun 21 14:33:38 vm-centos7-prueba postfix/smtpd[6008]: DD01F6541C: client=unknown[192.168.151.217]
Jun 21 14:33:38 vm-centos7-prueba postfix/cleanup[6011]: DD01F6541C: message-id=<>
Jun 21 14:33:38 vm-centos7-prueba postfix/qmgr[5512]: DD01F6541C: from=<[email protected]>, size=395, nrcpt=1 (queue active)
Jun 21 14:33:38 vm-centos7-prueba postfix/smtpd[6008]: disconnect from unknown[192.168.151.217]
Jun 21 14:34:31 vm-centos7-prueba postfix/smtp[6012]: DD01F6541C: to=<[email protected]>, relay=daf.com.ar[212.1.211.21]:25, delay=53, delays=0.07/0.02/32/21, dsn=4.0.0, status=deferred (host daf.com.ar[212.1.211.21] said: 451 Temporarily unable to process your email. Please try again later. (in reply to RCPT TO command))
^C

respondido por Postgresista (1,130 puntos) Jun 21, 2017
seleccionada por Postgresista Jun 29, 2017
2Comentarios
comentado por Gamba47 (4,080 puntos) Jun 29, 2017
Nunca vi el mail de respuesta a este tema, seguis con problemas? veo que llegaste a hacer el relay, seguramente te falta pulir algunas pavadas para no llegar como spam, pero estas muy cerca.

Saludos!
Emiliano
comentado por Postgresista (1,130 puntos) Jun 29, 2017
Hola, si, si, funciona barbaro.
Todavia no esta productivo pero ya hace lo que necesito sin mas ni mas.

En el tintero me queda lo que dije de limitar la lista de IPs que pueden mandar mails pero nada mas.

Mil gracias a todos!
0
Hola, si nunca tocaste un servidor de mail "de verdad" :-P te conviene usar Postfix, es potente y con una conf bastante mas simple que los demas.

La conf del relay puede ser muy simple como agregar la linea:

relayhost = algo.com (para postfix)

DSalgo.com (sendmail)

Pero si tu servidor de mail usa autenticacion se puede complicar un poco y llevarte varias horas de trabajo hasta que quede funcionando.

Saludos
respondido por luigibalzani (9,870 puntos) Jun 7, 2017
3Comentarios
comentado por Postgresista (1,130 puntos) Jun 7, 2017
Gracias Luigibalzani, hace un tiempo probe el Postfix, pero seguro no lo entendi porque lo unico que pude hacer es mapear un correo de entrada a uno de salida (Ej, [email protected] -> [email protected]) padeciendo la lentitud y limitaciones de gmail.

Por eso termine con el del smtp de ms que ya lo conocia y sabia que entregaba los mails sin intermediarios (creo que a esto le dicen smarthost)

Voy a reintentarlo.
comentado por luigibalzani (9,870 puntos) Jun 7, 2017
Vas a hacer relay con gmail? Tengo una conf de postfix que funciona haciendo relay con gmail con dominio propio.
comentado por Postgresista (1,130 puntos) Jun 7, 2017
No, justamente, quiero que mi smtp se conecte directamente al destino sin intermedirios.
0
Postfix es el estándar hoy en día. Hay bocha de tutoriales sobre como configurarlo, pero todo depende de cómo sea tu entorno, si tenés cuentas locales, si lo vas a usar de relayhost contra un MTA 'master', etc. Agregale más detalles a la pregunta sobre cómo es tu entorno actual y por ahí te podemos ayudar en forma más específica. Cosas que sirven:

- Es un mail server de uso pura y exclusivamente interno?
- Es un mail server que manda mail afuera pero no recibe?
- Es un mail server que manda mail afuera y recibe mail de afuera?
- Las cuéntas de correo están en una DB interna o están alojadas en otro servidor (probablemente el MTA 'master')?
respondido por godlike (8,510 puntos) Jun 7, 2017
1Comentarios
comentado por Postgresista (1,130 puntos) Jun 7, 2017
Hola Dodlike, dale, ahora reveo la pregunta.

- Opcion nro 2. Solo correos de salida, desde apps internas al exterior.

Las cuentas de la empresa estan en otro lado (gmail) el fin de este host es sacar los reportes a los clientes y un cerro de cosas mas sin pasar por gmail.
0
Bueno, respuesta ahora que tenemos más info (todo esto asume que vas a usar Postfix):

Por empezar, dado que el servidor es interno y sólo manda mails para afuera, asumiendo que no hay malware en tu red, te podés ahorrar la parte de autenticación. En todo caso, con Postfix podés restringir por IP (interna) de los clientes autorizados a usar el server para mandar mail, todos los demás denegados.

Para la parte de mandar el correo en sí, no te conviene que tu mailserver (interno) le hable directamente a los MX de los clientes. Te conviene que, dado que ya tenés las cuentas en gmail, tu mail server use el server de gmail como intermediario. Ahí vas a tener que configurar seguramente la autenticación (e.g. smtp_sasl_password_maps) para enviar, y setear a gmail como relayhost. También fijate que tu ISP te deje pasar a Gmail directo, aunque generalmente no bloquean el puerto 587 (submission).

Dependiendo lo que tengas que mandar, podrías configurar una sola cuenta de correo del lado de gmail (con user y password) y autenticarte como esa cuenta, y mandar mail (i.e. que figure 'From: [email protected]') como esa cuenta. Sino, vas a tener que configurar una regla de rewrite por cada una de las cuentas que uses. Esto te puede llegar a ayudar (te linkié a la parte de canonical address mapping pero todo el artículo está bueno para que te vayas adentrando en cómo funcionan los distintos demonios de Postfix en lo que respecta a rewriting):

http://www.postfix.org/ADDRESS_REWRITING_README.html#canonical
respondido por godlike (8,510 puntos) Jun 7, 2017
2Comentarios
comentado por Postgresista (1,130 puntos) Jun 8, 2017
Hola, Buenos dias a todos.

Si, por lo visto es unanime que sera postfix. Sin duda fui yo quine no entendio como usarlo.

Pero bueno, justamente mi punto es NO a GMAIL; sino ir y hablar con los mx directamente. Gmail tiene unas cuantas limitaciones a la hora de mandar correos como un tope de 500 (o eran dos mil) correos diarios por cuenta. La lentitud, desesperante.

En mi caso, tengo varios clientes como ARTs, Obras Sociales, Prepagas, Farmacias, etc un sin fin de empresas que si no reciben sus correos no cobran y demas. Juro que no es SPAM ;P y enseguida me encuentro con el tope.

Internamente, vengo autorizando por IP a los servidores que salen y lo que es test/desa les piso el to/cc/bcc por una unica direccion de mail de prueba para que ningun genio de desa se ponga a mandar mails aunque no descarto en algun tiempo autenticar.

Ya pase por la parte de los spf y blacklists y anda barbaro el smtp de ms tengo todo en regla, una cuenta de rebotes y un script que da de baja los mails que ya no existen asi como un sistemita que da de baja la cuenta de email si alguien hace clic en "no recibir mas mails" etc.

En resuen, ahora a trabajar a ver si lo puedo hacer andar.
Habra mas noticias para este boletin.

Mil gracias a todos!
comentado por Gamba47 (4,080 puntos) Jun 15, 2017
@godlike, mira que el quiere evitar a gmail porque siempre te termina cortando en el corto plazo ( o te cambian algunas condiciones).

Para cuentas @gmail creo que son 200 mails por día, despues para las de gsuite sube a 500 por día (con un limite por hora). No recuerdo bien, pero era algo así.
0

Yo no logro entender el error que estas teniendo :D

Pasá la salida del comando

postconf -n

Con eso podemos ver que tenes configurado, no hay información sensible en este archivo, así que podrías copiar y pegar sin problemas.

Tambien la salida del comando

tail -f /var/log/mail.log

Al momento de enviar un e-mail, a ver si ahí se ve que es lo que pasa

 

Saludos

respondido por Gamba47 (4,080 puntos) Jun 15, 2017
...