Cómo configurar sendmail para recibir correos?

Imagen de Epe

Bueno, no voy a deshacerme en explicaciones sobre el cómo y el por qué. Pero noto que mucha gente pregunta continuamente cómo configurar el sendmail y en verdad he visto variados howto bien complicados sobre cómo hacerlo.

Partamos viendo lo fácil que es: Hace falta editar menos de 4 archivos. Así que es una labor que se hace de forma rapidísima.

También indiquemos los posibles problemas: Tienes que tener el puerto 25 abierto en tu firewall, sino harás todo esto por gusto y el firewall no te dejará entrar los correos.

Este howto es sólo relacionado con el MTA sendmail, con el que se ocupa de enviar y recibir correos hacia el servidor. No se ocupa de cómo leerlos (eso es el dovecot para hacer POP3 e IMAP, lo veremos luego).

Este howto supone que tienes los records MX de tus DNS correctamente apuntados a tu servidor.

[b]Requisitos previos:[/b]

Necesitamos tener instalado el paquete sendmail y sendmail-cf


yum install sendmail sendmail-cf

Una vez instalados, podemos comenzar a configurarlo.

Supongamos que nuestro dominio se llama: dominio.com y que la red interna nuestra (nuestra LAN) es: 192.168.1.0/24

Editamos /etc/mail/sendmail.mc

Buscamos una línea (alrededor de la línea 106) que dice:

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

Eliminamos esta parte: Addr=127.0.0.1

De forma tal que quede así:

DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl

con esto habremos logrado decirle a nuestro sendmail que escuche en todas las interfaces de red. Por defecto escucha solamente en localhost.

al salir de este archivo, ejecutamos:

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Listo, con esto habremos creado un nuevo archivo de configuración del sendmail.

Vamos al siguiente.

Editamos: /etc/mail/local-host-names que es el archivo encargado de guardar los nombres de los dominios que alojaremos en nuestro servidor.

Sencillamente agregamos el dominio nuestro. Sin www!!!


dominio.com

Y listo, salimos grabando los cambios.

Vamos al siguiente:

Editamos el archivo /etc/mail/access

En el access ponemos todas las redes LAN y dominios de nuestra empresa. No borren nada, sólo agreguen esto al final:


192.168.1 RELAY
dominio.com RELAY

Entre una columna y la otra, usen uno o dos TABS.

Fíjate que en la red no se pone 192.168.1.0/24, sino solamente la parte que será fija en la red. 192.168.1 por ejemplo.

Si pones 192.168.1.0 eso significará: la IP 192.168.1.0. Si pones 192.168.1 significará: todas las IPs que comiencen con 192.168.1 no importa lo que le siga.

Listo, salvemos este archivo.

Uf... hemos acabado!

Ahora arranquemos sendmail:


chkconfig --level 2345 sendmail on
service sendmail restart

Listo, tan simple como eso. Te garantizo que trabaja. Lo que no te garantizo es que tengas bien configurado el firewall y los records MX.

Increíble pero cierto, la mayoría de los problemas de los MTA vienen dados por records MX mal configurados o por firewalls bloqueándoles.

Comentarios

Una pregunta si tengo

Imagen de sxavyer

Una pregunta
si tengo configurado sendmail con un dominio interno empresa.com en un servidor con conexion a internet, yo puedo enviar correos desde xxx@empresa.com a una cuenta hotmail?? o necesariamente empresa.com tiene q ser un dominio publico?????

cabe aclarar q si envio correos desde nombre1@empresa.com hacia nombre2@empresa.com los mail si se envian. pero yo quiero enviar desde nombre1@empresa.com hacia hotmail,.....

gracias

Att.

Xavier !!!

Att.

Xavier !!!

Efectivamente a hotmail ya

Imagen de sxavyer

Efectivamente a hotmail ya llegan mail pero si envio a nombre@utpl.edu.ec me rebota con el siguiente error

************************************************
The original message was received at Mon, 22 Dec 2008 16:00:19 -0500
from localhost.localdomain [127.0.0.1]

----- The following addresses had permanent fatal errors -----

(reason: 553 5.1.8 ... Domain of sender address produccion@empresa.com
does not exist)
************************************************
en este caso cual seria la solucion si quiero llegar al dominio publico utpl.edu.ec (a hotmail si se envian a yahoo tambien)

y una cosa mas,a mi sendmail no me llegan correos externos de ningun dominio. en el dns tengo q tener algun registro con direccion ip publica????

Att.

Xavier !!!

Att.

Xavier !!!

Correos no se van ni llegan

Hola amigos, les comento q tengo un problema con mi servidor de correos ya que despues de instalar MailScanner ya no puedo enviar correos, este es el log q tengo:

Mar 31 12:52:25 mail sendmail[8991]: p2VHqOB8008991: from=, size=365, class=0, nrcpts=1, msgid=<201103311752.p2VHqN73008990@servidor.com>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Mar 31 12:52:25 mail sendmail[8991]: p2VHqOB8008991: to=, delay=00:00:00, mailer=esmtp, pri=30365, stat=queued
Mar 31 12:52:25 mail sendmail[8990]: p2VHqN73008990: to=aromero@destino.com, ctladdr=root (0/0), delay=00:00:02, xdelay=00:00:01, mailer=relay, pri=30059, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p2VHqOB8008991 Message accepted for delivery)

Dice q se envia pero nada q ver y tampoco llegan. Hice un host a mi server con este resultado:

Trying "servidor.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21664
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;servidor.com. IN A

;; ANSWER SECTION:
servidor.com. 67543 IN A 67.18.11.31

;; AUTHORITY SECTION:
servidor.com. 66464 IN NS ns1.phpwebhosting.com.
servidor.com. 66464 IN NS ns2.phpwebhosting.com.

;; ADDITIONAL SECTION:
ns1.phpwebhosting.com. 12069 IN A 64.65.1.112
ns2.phpwebhosting.com. 12069 IN A 67.19.146.50

Received 132 bytes from 200.31.6.34#53 in 67 ms
Trying "servidor3.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42143
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;servidor. IN AAAA

;; AUTHORITY SECTION:
servidor. 2743 IN SOA ns1.phpwebhosting.com. root.phpwebhosting.com. 2000122902 28800 7200 604800 86400

Received 93 bytes from 200.31.6.34#53 in 69 ms
Trying "servidor.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49681
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; QUESTION SECTION:
;servidor. IN MX

;; ANSWER SECTION:
servidor. 82818 IN MX 10 mail.bengala-gpt3.com.

;; AUTHORITY SECTION:
servidor. 66464 IN NS ns2.phpwebhosting.com.
servidor. 66464 IN NS ns1.phpwebhosting.com.

;; ADDITIONAL SECTION:
servidor.com. 66464 IN A 64.76.225.4
ns1.phpwebhosting.com. 12069 IN A 64.65.1.112
ns2.phpwebhosting.com. 12069 IN A 67.19.146.50

Received 153 bytes from 200.31.6.34#53 in 65 ms

Pero al realizar un dig MX tengo este resultado:

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3 <<>> MX
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 16410
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;servidor.com. IN MX

;; Query time: 0 msec
;; SERVER:
;; WHEN: Thu Mar 31 14:23:28 2011
;; MSG SIZE rcvd: 34

Su ayuda con este asunto por favor

El problema es MailScanner

El problema no es sendmail es el mailscanner. Despues de tanto probar, apague el mailsacanner y levante sendamial y los mails van y vienen. Estoy utilizando mailscanner-4.83.4-1 y sendmail-8.13.8-8.el5 a alguien se le ocurre q puede ser??

No me resulta uno de los pasos.

Hola chicos , muy bueno su sitio , hay mucha informacion y muy util para mucha gente como yo.
He realizado los pasos que detallaron al pie de l aletra pero en la parte donde debo cambiar los parametros del fichero sendmail.cf por los del sendmail.mc, me aparece un error que dice que no existe el archivo o directorio, por favor guienme

para ser especifico , es en esta linea donde s eme presenta el problema:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

este es el error:
m4:/etc/mail/sendmail.mc:10 cannot open ´/usr/share/sendmail-cf/m4/cf.m4 : no such file or directory

no se que es lo que estoy haciendo mal y una pequeña ayuda me vendria de pelos, de antemano ya les doy las gracias y me quedo atento a cualquier respuesta. bye.

Uso fedora 13

utilizo el fedora 13 tal como lo indica el manual , tambien hice lo me dijiste pero me devuelve un mensaje que dice:

sendmail-cf-8.14.4-5.fc13.noarch : the files needes to reconfigure sendmail
repositorio: updates
resultado obtenido desde:
nombre del archivo : /usr/share/sendmail-cf/m4/cf.m4

y vuelvo a escribir el comando que em arrojaba el error pero sigue apareciendo lo mismo
no se que es lo que estoy haciendo mal.

Páginas