Osea con un simple
Código PHP:
$fp=fsockopen("Ip_server_SMTP","port","","");
//Yuego algunos fputs para poner el contenido del mail
Saludos
| ||||
Enviar mail sin funcion mail() Para hacerlo debo hacerlo por sockets no? Osea con un simple Código PHP: Saludos
__________________ DelirioLinux.. Software Libre y tecnología.. php también.. Saludos :arriba: Usuario Linux #198486 y Ubuntu #12791 Gutsy Gibbon |
| |||
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| |||
No es tan sencillo ... Si lo haces por sockets deberas conectar al SMTP que quieras usar al puerto 23 o el que corresponda y una vez hecha la conexión deberas de "hablar" con el servidor SMTP usando dicho protocoolo .. Como bien te aconseja josemi .. en la FAQ q te remite tienes un ejemplo. Como veras hay una serie de comandos como el MAIL FROM, EHLO, RCPT TO, DATA y algunos mas que son el propio protocoolo SMTP .. Un saludo, |
| |||
debes sacar el servidor al q pertenece esa cuenta... ejemplo, si e mail es para [email protected] puede, q el servidor de correo q tengas q usar, no sea mail.servidor.com o simplemente acceder al puerto 25 de servidor.com, para esto, debes consultar el registro MX del dominio, (php tiene funciones para hacer esto).
__________________ Linux, es para los que odian Microsoft/Windows, BSD, es para los que amamos *IX. |
| ||||
Bueno despues de informarme un pococ y estudiar esa FAQ que me dijeron tengo esto: Código PHP: Tengo instalado el QK SMTP SERVER y funciona, pero no me funciona este script. Cual es el error que en realidad no se muestra si no que solo no lo envia. De antemano gracias Saludos
__________________ DelirioLinux.. Software Libre y tecnología.. php también.. Saludos :arriba: Usuario Linux #198486 y Ubuntu #12791 Gutsy Gibbon |
| |||
diria q has de meter carriage despues de cada comando.... no?
__________________ Linux, es para los que odian Microsoft/Windows, BSD, es para los que amamos *IX. |
| ||||
Bueno lo tengo asi y no me funciona Código PHP: Si pueden ayudar genial Saludos y gracias de antemano
__________________ DelirioLinux.. Software Libre y tecnología.. php también.. Saludos :arriba: Usuario Linux #198486 y Ubuntu #12791 Gutsy Gibbon |
| |||
Estas usando tu propio servidor de correo SMTP en tu PC (junto con PHP) y bajo windows? Estas usando el QK SMTP Server?¿ ... Porqué no usas mail() .. tan solo tienes que indicar en tu php.ini: [mail function] ; For Win32 only. SMTP = localhost NO la IP que tengas en internet ..si lo usas en "local" (tu servidor SMTP y PHP juntos en el mismo PC ..) Un saludo, |
| ||||
Bueno Cluster en realidad lo que quiero es no usar mail() (aunque ya me funciona con mail()) si no que quiero intentarlo con sockets. Por eso postee ese codigo del cual no tengo idea porque no funciona Saludos
__________________ DelirioLinux.. Software Libre y tecnología.. php también.. Saludos :arriba: Usuario Linux #198486 y Ubuntu #12791 Gutsy Gibbon |
| |||
Bueno .. la mejor manera de ver porqué no funciona una conexión por sockets cuando "conectas" con cierto servicio y empiezas a "hablar" con el servidor q has conectado .. es justamente "escuchar" que dice ese servidor ante tus peticiones .. Para "escuchar" una conexión por sockets .. tan solo tienes que usar fgets() y recoger unos cuantos bytes .. Por ejemplo 1024 (1Kbyte .. podria ser menos o mas .. todo depende de lo q entregue como respuesta el servicio que conectes) Código PHP: Para el protocoolo SMPT tienes un listado de estos códigos ante tus peticiones en: http://www.greenend.org.uk/rjk/2000/...p-replies.html (estos "codigos" y el propio protocoolo, en este caso el SMTP lo detallan las RFC correspondientes ..) Con eso veras si por algun sitio falla las peticiones que le estas haciendo .. El "if (fputs ..." solo evalua si pudo hacer la conexión para enviar ciertos datos (paquetes) .. pero no tiene control de lo que va o biene por esa conexión .. para eso tienes que "decodificar" los errores que se producen o los mensajes en general .. Un saludo, |
| ||||
Gracias cluster por ese enlace Sobre el fgets si hago el echo y me muestra WELCOME TO THE QK SMTP SERVER que es el servdor SMTPque uso lo que significa que si conecto Saludos
__________________ DelirioLinux.. Software Libre y tecnología.. php también.. Saludos :arriba: Usuario Linux #198486 y Ubuntu #12791 Gutsy Gibbon |
| ||||
Hice los echo a cada fputs y lo que me devuelve no es un codigo del servidor SMTP si no el numero de letras y/o numero que contiene dicho paramentro es decir Código PHP: Saludos
__________________ DelirioLinux.. Software Libre y tecnología.. php también.. Saludos :arriba: Usuario Linux #198486 y Ubuntu #12791 Gutsy Gibbon |
| |||
Presta mas atención a lo q puse .. Te decia que despues de cada fput() q tienes ahora que se usa para "enviar dato por el socket abierto" .. hay q usar seguidamente un fget() para leer lo q envia el "socket" tras tu Petición ... Usa echo fgets ($fp, 1024)."<br>"; despues de cada fput() Lo demas .. errores y lo q sea ya es cosa del protocoolo SMTP .. si tienes dudas al respecto, con esos códigos que te dará pasate por el foro "serguridad y redes" y q te orienten mejor .. Pero vamos, el link q te dí mas o menos explica cada uno de los errores o mensajes q se podrían producir .. Un saludo, |