válida verificar verificación una tener registros registro nombre menos google funciona etiqueta dominio debe aspmx email smtp sendmail mx-record

email - verificar - sendmail y registros MX cuando el servidor de correo no está en el host web



registros mx gmail (6)

Creo que el problema es que sendmail (su proceso) está hablando con el daemon local de sendmail. El daemon local de sendmail piensa que debido a que es web.com, debe saber cómo entregar el correo electrónico. Lamentablemente, la dirección real en el campo a no existe en el servidor web y, por lo tanto, la vuelca en el buzón de correo "catchall". Debe hablar con su ISP y pedirles que actualicen su configuración de sendmail para que el correo dirigido a ... @ website.com avance al intercambiador de correo en lugar de ser manejado localmente.

Este es un problema que estoy seguro es fácil de solucionar, pero me he estado dando vueltas todo el día.

Estoy desarrollando un nuevo sitio web para un cliente. El sitio web reside en (este es un ejemplo) website.com. Tengo un script de PHP para enviar las solicitudes de los visitantes a [email protected].

Cuando codifiqué esto en un servidor intermedio en un dominio diferente, todo funcionó bien. Cuando lo moví a website.com, los mensajes de correo nunca llegaron. El servidor web está en un host virtual con un ISP importante.

Esto es lo que he aprendido desde entonces: el servidor de correo de mi cliente es Microsoft Exchange en una caja físicamente en su oficina. Cuando alguien en el mundo exterior envía un correo electrónico a [email protected], llega el correo. Pero si el servidor web envía a la misma dirección de correo electrónico, falla siempre. Esto no es un problema de PHP. Aseguro la shell en el servidor web y he probado esto tanto con sendmail como con la aplicación de correo UNIX. También lo probé enviando un correo electrónico a varias cuentas de correo electrónico desde el shell. Puedo enviarme un correo electrónico, por ejemplo, a nadie más en el dominio de website.com.

En resumen, cuando estoy conectado a website.com, correo a [email protected], [email protected], [email protected] todos fallan. Todas las demás direcciones funcionan bien. Lo que descubrí es que esos correos electrónicos caídos se enrutan a la cuenta "catchall" del servidor web donde se encuentran en su bandeja de entrada.

He hecho una búsqueda de MX en website.com. El registro MX apunta a mailsec.website.com. Puedo hacer una telnet en el puerto 25 de mailsec.website.com y ver el servidor SMTP.

Me parece que web.com no está haciendo una búsqueda MX cuando está enviando correo a [email protected]. Mi teoría es que reconoce el dominio como local, ve que no hay una cuenta de usuario de "solicitudes" para entregarlo, y deja caer el correo en la cuenta atrapamoscas. Lo que quiero es obligar a sendmail a hacer la búsqueda de MX y enviar el mensaje al servidor de Exchange. Estoy en el punto final aquí. No puedo entender cómo hacer esto.

Para el caso, puedo estar fuera de la base aquí y haber diagnosticado esto completamente. El correo de Internet y el MX siempre me han parecido arte negro, y mi ignorancia ciertamente se muestra en esta pregunta.


tvanfosson básicamente lo tiene, pero como una solución temporal, debe poder cambiar su script para que envíe por correo ''[email protected]'', y luego el correo se entregará al servidor de correo real.


Edite el archivo tsm.cf (en / etc / mail / o similar) para incluir

FEATURE(relay_entire_domain)

entre las líneas DOMAIN () y MAILER (). Como está editando el archivo, es posible que desee mejorar también la seguridad con

define(`confPRIVACY_FLAGS'',``noexpn,novrfy'''')

Después de cambiar el archivo tsm.cf (o cualquier archivo de configuración de sendmail), reinicie o SIGHUP el proceso sendmail.

Este cambio es necesario porque los servidores WWW y MX para el dominio no existen en el mismo espacio de proceso; esta FUNCIÓN activa sendmail para procesar mensajes para el dominio usando su mecanismo de entrega externo.

La parte editada del archivo tsm.cf debe ser similar a esto:

DOMAIN(website.com)dnl FEATURE(relay_entire_domain)dnl define(`confPRIVACY_FLAGS'',``noexpn,novrfy'''')dnl MAILER(smtp)dnl MAILER(procmail)dnl


Lo que funcionó para mí fue agregar un registro MX en el servidor web que aloja el sitio web, que apunta al host asignado en el servidor de nombre de dominio original. En el caso presentado aquí sería un registro de mx apuntando a: mailsec.website.com


Sendmail de forma predeterminada adivina la lista de dominios de correo electrónico locales. Se puede desactivar usando la siguiente línea en su archivo sendmail.mc:

define(`confDONT_PROBE_INTERFACES'',`True'')

Como root lista los dominios de correo electrónico locales antes y después del cambio.

echo ''$=w'' | sendmail -Am -bt

Verá qué dominios se deben agregar "manualmente" a (usualmente) / etc / mail / local-host-names después de deshabilitar el auto-adivinar.

PS Para la pregunta de sendmail puedes usar news: comp.mail.sendmail


Soy nuevo aqui. Quería extender la respuesta de RB_CWI , pero no puedo comentar. Su solución funcionó de maravilla.

No es necesario que defina el DOMINIO ().

Sin embargo, en mi sistema estaba obligado a instalar el paquete sendmail-cf.

Las instrucciones a continuación fueron hechas en CentOS 6.5

Primero, instale sendmail-cf

sudo yum install sendmail-cf

Luego, edite el senmail.mc

sudo vi /etc/mail/sendmail.mc

En la parte inferior del archivo, agregue FEATURE (relay_entire_domain) dnl, por lo que se ve así:

... FEATURE(relay_entire_domain)dnl MAILER(smtp)dnl # right above this line MAILER(procmail)dnl dnl MAILER(cyrusv2)dnl

Guarde el archivo y reinicie sendmail.

sudo service sendmail restart