PDA

Ver la versión completa : ¿Enviar correos a hotmail desde php?¿Es posible?



smaug_
04-12-2007, 11:16
Hola gente, os comento, a ver si alguno ha tenido el siguiente problema.
Tengo instalado un servidor de correo (MDaemon Pro) en un Windows Xp, bien, en un principio, no daba problemas, excepto con el correo de hotmail, ya que nunca llegaban los mensajes. Buscando y leyendo, encontre informacion sobre los SenderID y el SPF.
Como parecia ser la solucion, obte por seguir los pasos de la pagina y obtener un senderID (http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/) despues envie un correo a hotmail,informandoles del nombre de mi dominio, para que me aceptaran en sus listas.
Al cabo de un par de dias, me contestaron, de que ya estaba añadido. Asi que decidi comprobarlo por mi mismo, desde mi cliente de correo (Thunderbird) envie un correo a mi cuenta de hotmail, y voila, alli estaba, en no deseados, pero estaba. ¿Todo solucionado? NO!
Aqui es donde esta mi problema, necesito enviar desde una aplicacion web en php, correo para posibles clientes (con lo cual, es necesario poder enviar a hotmail, ya que un gran porcentaje de usuarios usan este proveedor). Pero con la funcion mail de php, no llegan los envios a hotmail, a otros servidores si, pero a hotmail no. La configuracion del php.ini esta bien.
Pero me di cuenta, de que enviaba los correos por smtp sin autenticar, podria ser el problema?
Encontre la clase Phpmailer, es muy completa y permite montones de opciones , asi que tras hacer unas pruebas, me encontraba en la misma situacion, los correo a hotmail no llegaban (al resto si). Estaria haciendo algo mal?
Por probar, envie otro correo a traves del thunderbird, que llego bien a hotmail. Y puestos a probar, Mdaemon, proporciona un WebMail muy completo, asi que entre, y probe a enviar un correo, para mi sorpresa, desde el webmail tampoco llegan los correo a hotmail.
Por cierto, detras de cada mail, mdaemon me daba la respuesta del servidor de hotmail, os la pego:


Failed address: <midireccion>@hotmail.com

--- Session Transcript ---
Tue 2007-12-04 10:55:49: Parsing message <xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\pd35000000246.ms g>
Tue 2007-12-04 10:55:49: * From: [email protected]
Tue 2007-12-04 10:55:49: * To: <midireccion>@hotmail.com
Tue 2007-12-04 10:55:49: * Subject: Prueba de phpmailer
Tue 2007-12-04 10:55:49: * Message-ID: <[email protected]>
Tue 2007-12-04 10:55:49: Intentando SMTP conexión con [hotmail.com]
Tue 2007-12-04 10:55:49: Resolviendo registros MX para [hotmail.com] (Servidor DNS: 192.168.1.201)...
Tue 2007-12-04 10:55:50: * P=005 S=000 D=hotmail.com TTL=(5) MX=[mx3.hotmail.com] {65.54.244.200}
Tue 2007-12-04 10:55:50: * P=005 S=001 D=hotmail.com TTL=(5) MX=[mx4.hotmail.com] {65.54.244.232}
Tue 2007-12-04 10:55:50: * P=005 S=002 D=hotmail.com TTL=(5) MX=[mx1.hotmail.com] {65.54.244.136}
Tue 2007-12-04 10:55:50: * P=005 S=003 D=hotmail.com TTL=(5) MX=[mx2.hotmail.com] {65.54.245.40}
Tue 2007-12-04 10:55:50: * P=005 S=004 D=hotmail.com TTL=(5) MX=[mx3.hotmail.com] {65.54.244.72} multi-homed
Tue 2007-12-04 10:55:50: * P=005 S=005 D=hotmail.com TTL=(5) MX=[mx3.hotmail.com] {65.54.245.72} multi-homed
Tue 2007-12-04 10:55:50: * P=005 S=006 D=hotmail.com TTL=(5) MX=[mx4.hotmail.com] {65.54.245.104} multi-homed
Tue 2007-12-04 10:55:50: * P=005 S=007 D=hotmail.com TTL=(5) MX=[mx4.hotmail.com] {65.54.244.104} multi-homed
Tue 2007-12-04 10:55:50: * P=005 S=008 D=hotmail.com TTL=(5) MX=[mx1.hotmail.com] {65.54.244.8} multi-homed
Tue 2007-12-04 10:55:50: * P=005 S=009 D=hotmail.com TTL=(5) MX=[mx1.hotmail.com] {65.54.245.8} multi-homed
Tue 2007-12-04 10:55:50: * P=005 S=010 D=hotmail.com TTL=(5) MX=[mx2.hotmail.com] {65.54.244.168} multi-homed
Tue 2007-12-04 10:55:50: * P=005 S=011 D=hotmail.com TTL=(5) MX=[mx2.hotmail.com] {65.54.244.40} multi-homed
Tue 2007-12-04 10:55:50: Intentando SMTP conexión con [65.54.244.200:25]
Tue 2007-12-04 10:55:50: Esperando la conexión del socket...
Tue 2007-12-04 10:55:50: * Conexión establecida (192.168.1.201:1864 -> 65.54.244.200:25)
Tue 2007-12-04 10:55:50: Esperando la iniciación del protocolo...
Tue 2007-12-04 10:55:50: <-- 220 bay0-mc8-f9.bay0.hotmail.com Sending unsolicited commercial or bulk e-mail to Microsoft's computer network is prohibited. Other restrictions are found at http://privacy.msn.com/Anti-spam/. Violations will result in use of equipment located in California and other states. Tue, 4 Dec 2007 01:55:50 -0800
Tue 2007-12-04 10:55:50: --> EHLO cubbic.es
Tue 2007-12-04 10:55:50: <-- 250-bay0-mc8-f9.bay0.hotmail.com (3.4.0.37) Hello [80.37.251.154]
Tue 2007-12-04 10:55:50: <-- 250-SIZE 29696000
Tue 2007-12-04 10:55:50: <-- 250-PIPELINING
Tue 2007-12-04 10:55:50: <-- 250-8bitmime
Tue 2007-12-04 10:55:50: <-- 250-BINARYMIME
Tue 2007-12-04 10:55:50: <-- 250-CHUNKING
Tue 2007-12-04 10:55:50: <-- 250-AUTH LOGIN
Tue 2007-12-04 10:55:50: <-- 250-AUTH=LOGIN
Tue 2007-12-04 10:55:50: <-- 250 OK
Tue 2007-12-04 10:55:50: --> MAIL From:<[email protected]> SIZE=964
Tue 2007-12-04 10:55:50: <-- 550 DY-001 Mail rejected by Windows Live Hotmail for policy reasons. We generally do not accept email from dynamic IP's as they are not typically used to deliver unauthenticated SMTP e-mail to an Internet mail server. http://www.spamhaus.org maintains lists of dynamic and residential IP addresses. If you are not an email/network admin please contact your E-mail/Internet Service Provider for help. Email/network admins, please visit http://postmaster.live.com for email delivery information and support
Tue 2007-12-04 10:55:50: --> QUIT
--- End Transcript ---

Tambien , he comparado cabeceras de correos y no veo ninguna diferencia fundamental (aunque yo no entiendo mucho en este tema).
Ya no se que hacer, alguno de vosotros ha estado en la misma situacion? Tiene alguna solucion? ARRGH!! ^^U
Bueno, perdon por la parrafada y gracias por vuestra ayuda de antemano.
Hail!

smaug_
04-12-2007, 17:06
Me autocontesto, por fin he conseguido saber el porqué. Resulta que mi ip, en realidad el rango, estaba en una lista de bloqueo. Ya llegan,a no deseados, pero llegan. Os comento los pasos que habría que seguir, para poder enviar correos a hotmail sin que haya excesivos problemas:
1 - Ver si tenemos un registro SPF y crearlo
En la siguiente direccion de Microsoft http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/ teneis que os comprobara si teneis una cadena SPF y podreis crearla/modificarla segun sea el caso.
Para comprobar, solo teneis que introducir vuestro dominio y pulsar en Next, os dira cual es vuestro servidor (si es capaz de encontralo). Luego, siguiendo el asistente, obtendreis una cadena spf, parecida a la siguiente:


v=spf1 a mx ip4:127.0.0.1 mx:undominio.es ~all

Una vez obtenido, solo tendremos que añadir en nuestro servidor DNS , una entrada de texto(TXT) con esa cadena. Puesto que el cambio es inmediato, recomiendo ejecutar el primer paso del asistente para verificar que localiza nuestro SPF.

2 - Decirle a Microsoft que le deje a nuestro dominio enviarle correos
El siguiente paso, seria rellenar el formulario de microsoft (https://support.msn.com/eform.aspx?productKey=senderid&page=support_senderid_options_form_byemail&ct=eformts) indicandole una direccion de contacto, el/los dominio/s que tengamos (cada uno en una linea) y si tenemos cadenas SPF, indicandoles cual es.

Con esto, en principio, no tendriamos problemas para enviar correos, pero puede ocurrir que nos lo siga bloqueando (como me ocurria a mi). Para ello, vayamos al siguiente paso.

3- Comprobar en Spamhaus si nuestra ip esta blacklisted
Entramos en la pagina de PBL de spamhaus (http://www.spamhaus.org/pbl/index.lasso) y a la izquierda, ponemos nuestra ip publica, al darle a lookup, nos dira si esta en algunas de las listas, en ese caso, nos dara la opcion de eliminarla de ellas, solo tenemos que seguir los pasos que nos indica. Una vez hecho, tras la espera de una hora aproximadamente, estara fuera de toda lista negra.

Y de esta forma, seremos capaces de enviar por fin, correos a los usuarios de hotmail. ^^

KaoS
29-01-2008, 16:44
Gracias Smaug_ por la información
Ánimo!

dzener
19-11-2008, 05:24
Hola disculpa pero no entendi eso de "añadir en nuestro servidor DNS , una entrada de texto(TXT) con esa cadena", como hago eso

smaug_
19-11-2008, 10:02
Pues, a ver, no se como explicarlo mejor. En tu servidor DNS, el que se encarga de resolver los nombres en tu red, tienes que añadir una entrada, igual que puedes crear entradas de resolución del tipo A , tambien puedes crear entradas de texto, pues no tienes mas que crear una y poner la cadena que te devuelve el asistente.