Foros del Web » Programando para Internet » PHP »

Ayuda con formulario PHP

Estas en el tema de Ayuda con formulario PHP en el foro de PHP en Foros del Web. No se mucho de programación y necesito saber si este código funcionaría para que un formulario sea enviado a una cuenta de correo y como ...
  #1 (permalink)  
Antiguo 08/10/2004, 20:18
 
Fecha de Ingreso: noviembre-2002
Ubicación: Avellaneda
Mensajes: 247
Antigüedad: 21 años, 5 meses
Puntos: 0
Ayuda con formulario PHP

No se mucho de programación y necesito saber si este código funcionaría para que un formulario sea enviado a una cuenta de correo y como debo modificarlo:

<?php
$smtp_server = "smtp.netizen.com.ar";
$port = 25;
$mydomain = "dominio.com.ar";
// En la siguiente linea va la direccion de mail con la que se envia el mail
(a donde contestara la persona a la que le llegue).
$sender = [email protected];
// En la siguiente linea va la direccion de mail de destino
$recipient = [email protected];
$subject = "Asunto del mail";
$content = "Contenido del mail";

// Inicia la conexion con el SMTP
$handle = fsockopen($smtp_server,$port);
fputs($handle, "EHLO $mydomain\r\n");

// Envia el mail
fputs($handle, "MAIL FROM:<$sender>\r\n");
fputs($handle, "RCPT TO:<$recipient>\r\n");
fputs($handle, "DATA\r\n");
fputs($handle, "To: $recipient\n");
// Aqui se puede definir la copia oculta.
fputs($handle, "bcc: [email protected]");
fputs($handle, "Subject: $subject\n\n");
fputs($handle, "$content\r\n");
fputs($handle, ".\r\n");

// Cierra la conexion con el SMTP
fputs($handle, "QUIT\r\n");
?>


Gracias por adelantado.

__________________
www.elumina.com.ar
  #2 (permalink)  
Antiguo 09/10/2004, 10:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El código que pusistes usa sockets para enviar tu e-mail por el Servidor SMTP que ahí se indica .. La verdad que es extremadamente simple el código (no digo que no funcine .. pero hay más cosas a tener en cuenta a la hora de usar SMTP directo).

La configuración del mismo creo que está bastante claro en los nombres de las variables ... Tienes comentarios de lo que debes configurar "en castellano" ... Ahora, .. ese código envia un e-mail "fijo" .. no recolecta tus variables que envies desde tu formulario (tu formulario HTML) ni dá formato al cuerpo del mensaje .. etc .. etc.

En resumen: Buscate otro ejemplo completo de "formulario+script PHP usando la función mail()" que en este foro si usas el buscador verás muchooooos!.

Lo más complicado o detalle que tienes que tener en cuenta es que en:

$smtp_server = "smtp.netizen.com.ar";

indicarías el servidor SMTP de tu ISP o servicio de hosting (tal vez con "localhost" te sobre) o si es tu PC el "servidor" eso mismo (localhost) pero previa instalación en tu PC de un servidor SMTP para el S.O. que uses. El código que usas NO hace autentificación .. así que si usa una cuenta tuya de correo SMTP/POP con ese servidor de SMTP .. y esta requiere autentificación (suele ser lo normal hoy por hoy que la requieran) no vas a poder usar ese código en concreto ..

Ahora, ..las preguntas son:
1) Usas un servicio de hosting o es tu PC el "servidor"?
2) Conces que PHP ya implementa su función mail() para enviar un e-mail (usando la configuración de PHP en ese servidor para el servidor SMTP a usar? (www.php.net/mail y ejemplos encontraras en ese foro .. usando el buscador o en las FAQ's del mismo)

Por lo demás .. puestos a usar SMTP directo para enviar tu e-mail yo usaría la classe:

PHP Mailer
http://phpmailer.sourceforge.net

que es muchooooooooo más potente (mejor en funcionalidades) que el código que presentas, entre otras cosas permite enviar un e-mail por SMTP directo y permite autentificación si este la requiere.

Un saludo,
  #3 (permalink)  
Antiguo 09/10/2004, 21:41
 
Fecha de Ingreso: noviembre-2002
Ubicación: Avellaneda
Mensajes: 247
Antigüedad: 21 años, 5 meses
Puntos: 0
Muchas gracias por tu ayuda, me fué muy util.

Chau.
__________________
www.elumina.com.ar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:11.