PHP - Mensaje RFC al emitir correos desde PHP

 
Vista:
sin imagen de perfil
Val: 5
Ha aumentado su posición en 24 puestos en PHP (en relación al último mes)
Gráfica de PHP

Mensaje RFC al emitir correos desde PHP

Publicado por Javier (49 intervenciones) el 25/11/2013 17:00:30
Buenas tardes.
Tengo un procedimiento en PHP que envia un correo despues de un inscripcion.
Despues de mucho investigar ya que algunos receptores indicaban que no le llegaba el acuse de recibo, he observado que para algunos email me retorna el siguiente mensaje:


SMTP error from remote mail server after end of data: host mx3.hotmail.com [DIRECCION IP]]: 550 5.7.0 (SNT0-MC2-F28) Message could not be delivered. Please ensure the message is RFC 5322 compliant.

Llego a entender que no cumplo dicha recomendacion pero no sé exactamente a que parte es la que no se ajusta.
El procedimiento es el siguiente:

1
2
3
4
5
6
7
8
9
10
$para = "'".$email."'";
   	$titulo = 'Inscripcion Evento: '.$even."'";
	$cuerpo ='<html><head><title> Inscripcion </title></head><body><p>Formulario Inscripcion</p><br><br>';
	$cuerpo.='<p> Datos del inscrito<p><br><br><p>Nombre y Apell: '.$nom.' , '.$ape1.'  '.$ape2.'<br><p>Sexo y Fecha de nacimiento: '.$sexo.', '.$fnac;
	$cuerpo.='<p><br><p>Ciudad y Provincia:'.$valores.'<p><br><br><p>Otros: '.$lic;
        $cabecera='MIME-Version: 1.0'."\r\n";
	$cabecera.='Content-type: text/html; Charset=iso-8859-1'."\r\n";
	$cabecera.='To:'.$email. "\r\n";
	$cabecera.='From: Inscripciones  <email@email.es'."\r\n";
mail($para,$titulo,$cuerpo,$cabecera);

Con este procedimiento para algunos llega y para otros no, en principio para los email de hotmail.

¿Alguien ha experimentado el mismo problema?.
¿Como podria solucionarlo?.

Gracias y un saludo,
JAvier.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Mensaje RFC al emitir correos desde PHP

Publicado por xve (6935 intervenciones) el 25/11/2013 18:19:05
Hola Javier, yo entiendo que el problema es el host de donde se envía el correo... el servidor que lo envía, es la misma IP que el DNS MX de tu dominio?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 24 puestos en PHP (en relación al último mes)
Gráfica de PHP

Mensaje RFC al emitir correos desde PHP

Publicado por Javier (49 intervenciones) el 25/11/2013 19:30:48
Gracias xve por tu respuesta.
Me imagino que si el problema fuera de mi servidor me daría error para todos.
No te puedo responder a la pregunta que me haces por que tengo poquísima información de mi servidor, ya que no lo administro yo.
Supongo que me esta indicando que le falta algo para aceptar el correo recibido.
Lo curioso es que algunos email si los acepta (estoy hablando de hotmail) y otros no y eso que los envio con el mismo procedimiento.
De todas formas, ¿como podria averiguar lo que me indicas del servidor MX?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Mensaje RFC al emitir correos desde PHP

Publicado por xve (6935 intervenciones) el 25/11/2013 19:38:16
Hola Javier, esa información la puedes obtener sabiendo el dominio que utilizas para el envió del correo.

Si por ejemplo tu dominio fuera lawebdelprogramador.com, podrias saber donde se encuentra su servidor mx, con una simple instrucción:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ dig mx lawebdelprogramador.com
 
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> mx lawebdelprogramador.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58114
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 13, ADDITIONAL: 1
 
;; QUESTION SECTION:
;lawebdelprogramador.com.       IN      MX
 
;; ANSWER SECTION:
lawebdelprogramador.com. 3600   IN      MX      10 mail.lawebdelprogramador.com.
lawebdelprogramador.com. 3600   IN      MX      20 mail2.lawebdelprogramador.com.

Para saber la IP:
1
2
$ ping mail.lawebdelprogramador.com
PING zonaweb.info (192.168.0.151) 56(84) bytes of data.

Estas instrucciones se han ejecutado bajo Linux.... de seguro para Windows existirá otro comando.


Esto puede fallar únicamente en los servidores que validan el mx de la IP que envía el correo. Si otros servidores no lo validan, no tendrás el problema.

Espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 24 puestos en PHP (en relación al último mes)
Gráfica de PHP

Mensaje RFC al emitir correos desde PHP

Publicado por Javier (49 intervenciones) el 25/11/2013 19:55:01
Gracias de nuevo, lo de ping si lo sabia pero lo de DIG no me acordaba (me estoy volviendo viejo).

Me retorna esto:

; <<>> DiG 9.8.1-P1 <<>> mx adolince.es
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45764
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;adolince.es. IN MX

;; ANSWER SECTION:
adolince.es. 13889 IN MX 0 adolince.es.

;; Query time: 65 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Mon Nov 25 19:52:41 2013
;; MSG SIZE rcvd: 45

Ahora cuando envia el mensaje los envia desde:

[email protected]

¿Quizas es por que es una cuenta alternativa y no pertenece al dominio?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Mensaje RFC al emitir correos desde PHP

Publicado por xve (6935 intervenciones) el 25/11/2013 21:06:49
Hola Javier, es diferentes IP la de saver.vivawebhost.com y la de vivawebhost.com con la tuya....

La manera de solucionar este problema, es utilizar el servidor smtp para el envió del correo en vez de utilizar la instrucción mail()

Te recomiendo probar este ejemplo:
http://www.lawebdelprogramador.com/codigo/PHP/1884-Envio_de_correo_mediante_servidor_SMTP.html

Si lo pruebas, coméntanos si se ha solucionado el problema, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar