Foros del Web » Programando para Internet » PHP »

Enviar formulario - servidor SMTP con autenticacion

Estas en el tema de Enviar formulario - servidor SMTP con autenticacion en el foro de PHP en Foros del Web. Hola expertos :) Diseño y maqueto páginas web y hasta hace poco tooodas eran estáticas . Hace poco de tiempo empecé a aprender PHP por ...
  #1 (permalink)  
Antiguo 05/03/2007, 04:13
Avatar de Juacks  
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años, 1 mes
Puntos: 0
Enviar formulario - servidor SMTP con autenticacion

Hola expertos :)

Diseño y maqueto páginas web y hasta hace poco tooodas eran estáticas . Hace poco de tiempo empecé a aprender PHP por eso de hacer cosas nuevas (renovarse o morir) ;)

Al grano: He creado para mi última página web un formulario de contacto.
Problema: No puedo usar la clase mail() puesto que mi servidor de correo SMTP requiere autenticación y, por tanto, no funciona

Realmente es un problema para mí puesto que no tengo ni idea de cómo hacer esa autenticación. ¿Podríais por favor echarme un cable? Recordad que soy más que profano en el tema (vamos, que no tengo ni idea) así que os pediría casi el código para copiar y pegar

Muchísimas gracias por adelantado

Última edición por Juacks; 05/03/2007 a las 10:14
  #2 (permalink)  
Antiguo 05/03/2007, 05:15
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Enviar formulario - servidor SMTP con autenticacion

Buenas Juacks,

Prueba a usar esta clase de envío de correo electrónico, seguro que dispone de algún método para autentificarte por SMTP.

http://phpmailer.sourceforge.net/

Un saludo.
__________________
www.pensandoenred.com
  #3 (permalink)  
Antiguo 05/03/2007, 05:18
Avatar de Juacks  
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Enviar formulario - servidor SMTP con autenticacion

Muchas gracias MarioNunes,

Voy a preguntar a mi proveedor de correo SMTP si disponde de esa clase Tiene muy buena pinta.

Pero por si acaso no lo tuviera y no quisiera implementarlo, ¿alguno con otra sugerencia?
  #4 (permalink)  
Antiguo 05/03/2007, 08:22
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Enviar formulario - servidor SMTP con autenticacion

No tienes porque preguntarle nada a nadie, te descargas el codigo y lo usas ^_^

Un saludo.
__________________
www.pensandoenred.com
  #5 (permalink)  
Antiguo 05/03/2007, 09:44
Avatar de Juacks  
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Enviar formulario - servidor SMTP con autenticacion

Cita:
Iniciado por MarioNunes Ver Mensaje
No tienes porque preguntarle nada a nadie, te descargas el codigo y lo usas ^_^

Un saludo.
Hola MarioNunes,

Pues lo he copiado y pegado (el código) y me sale ésto:

Warning: require(class.phpmailer.php) [function.require]: failed to open stream: No such file or directory in xxxxx on line 109

Fatal error: require() [function.require]: Failed opening required 'class.phpmailer.php' (include_path='.;C:\php5\pear') in xxxxx on line 109


¿Qué es lo que está pachando?
  #6 (permalink)  
Antiguo 05/03/2007, 09:53
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Enviar formulario - servidor SMTP con autenticacion

Ahora no tengo mucho tiempo para resolverte la pregunta, pero tal vez si no sabes identificar ese tipo de errores deberías aplicarte más en el lenguaje PHP.

No te lo tomes a mal, luego si tengo más tiempo te explico.

Un saludo.
__________________
www.pensandoenred.com
  #7 (permalink)  
Antiguo 05/03/2007, 10:01
Avatar de Juacks  
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Enviar formulario - servidor SMTP con autenticacion

No te preocupes, no me lo tomo a mal ;)

Cuando antes he dicho que soy profano, es que soy profano (no llevo ni dos días aprendiendo). Me daba casi vergüenza preguntar, pero es que me urge tanto...

Por favor, sácate cuando puedas 5 minutitos para resolverme el problema.

Te quedo muy agradecido

Un saludo
  #8 (permalink)  
Antiguo 05/03/2007, 10:04
 
Fecha de Ingreso: enero-2004
Ubicación: Medellin
Mensajes: 178
Antigüedad: 20 años, 3 meses
Puntos: 8
Re: Enviar formulario - servidor SMTP con autenticacion

ese error se debe a que el archivo que estas incluyendo del phpmailer no esta ubicado en la ruta que le estas dando en el require
  #9 (permalink)  
Antiguo 05/03/2007, 10:08
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: Enviar formulario - servidor SMTP con autenticacion

Hola...

te has leido la documentacion?

aqui te explica como debes incluirlo y usarlo
http://phpmailer.sourceforge.net/docs/

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #10 (permalink)  
Antiguo 05/03/2007, 10:09
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Enviar formulario - servidor SMTP con autenticacion

Creo que esa respuesta le deja igual...

Lo que necesita es un copy & paste funcional... y ahora no tengo time para hacer un ejemplo :)

Salu2.
__________________
www.pensandoenred.com
  #11 (permalink)  
Antiguo 05/03/2007, 10:11
Avatar de Juacks  
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Enviar formulario - servidor SMTP con autenticacion

Exacto, esa respuesta me deja igual Sergi Es que soy muy muy novato

Como bien dice el amigo Nunes, necesito copy&paste

Gracias a todos por vuestro tiempo
  #12 (permalink)  
Antiguo 05/03/2007, 10:26
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: Enviar formulario - servidor SMTP con autenticacion

Cita:
Iniciado por Juacks Ver Mensaje
Exacto, esa respuesta me deja igual Sergi Es que soy muy muy novato

Como bien dice el amigo Nunes, necesito copy&paste

Gracias a todos por vuestro tiempo
Ok, disculpa Juacks
a ver...
tienes q descargarte la clase de phpmailer y ponerla en una carpeta q se llame class o classes como tu prefieras

Código PHP:
// Incluimos Clase para enviar Mail
// aqui tienes q poner la direccion correcta donde tienes la clase
//Class es la carpeta
//class.phpmailer.php --> el nombre de la clase de phpmailer
require("../class/class.phpmailer.php");
$mail = new phpmailer();
$mail->From     $email//--> direccionde donde viene
$mail->FromName "$nombre"//--> Nombre de quien lo manda
//--> a donde va dirigido
$mail->AddAddress("[email protected]""Nombre");
//->Asunto
$mail->Subject "Este es mi correo";
// HTML body
//aqui pondriamos lo siguiente --> serian los datos de tu formulario
//si los recibes por $_POST --> $_POST[variable];
//si los recibes por $_GET --> $_GET[variable];
$comentarios nl2br($comentarios);
$body "Nombre: $nombre<br>
País: $pais<br>
Teléfono: $telefono<br>
E-mail: $email<br>
Comentarios:<br>
$comentarios<br>"
;

// Plain text body (for mail clients that cannot read HTML)
$text_body  "Nombre: $nombre
País: $pais
Teléfono: $telefono
E-mail: $email
Comentarios:
$comentarios"
;
//mandamos el mail
$mail->Body    $body;
$mail->AltBody $text_body;
if(!
$mail->Send()){
echo 
"No se mando el correo";
}else{
echo 
"Se mando el correo";

espero q te sirva de base...

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #13 (permalink)  
Antiguo 05/03/2007, 11:14
Avatar de Juacks  
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Enviar formulario - servidor SMTP con autenticacion

Cita:
Iniciado por sergi_climent Ver Mensaje
Ok, disculpa Juacks
a ver...
tienes q descargarte la clase de phpmailer y ponerla en una carpeta q se llame class o classes como tu prefieras
espero q te sirva de base...

saludos
Hola Sergi,

Mil gracias por tu interés pero sigue sin funcionarme Aparece exactamente el mismo mensaje que he expuesto antes.

Por si fuera de ayuda, explico como tengo alojada la web: El hosting de la web la tengo contratada y, por tanto, en un servidor externo que no puedo configurar (una pena ) Ese proveedor me "provee" también del correo y para poder enviar correos necesito autentificarme (por eso, el formulario necesita autenticación)
Para probar el código que me has dado, he creado en la raíz de mis directorios una carpeta llamada class y dentro de esa carpeta la clase php mailer. El archivo .php que contiene el código que me has dado está en el directorio raíz... Creo que está bien hecho, ¿no?

¿Qué hago ahora?
  #14 (permalink)  
Antiguo 05/03/2007, 11:22
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: Enviar formulario - servidor SMTP con autenticacion

ok... pues si te sale el mismo error es q aun no a encontrado donde tienes alojado la clase...
si no he entendido mal tendrias q tener el require asi:
Código PHP:
//en la carpeta class 
//el archivo class.phpmailer.php
require("./class/class.phpmailer.php"); 
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #15 (permalink)  
Antiguo 05/03/2007, 11:27
Avatar de Juacks  
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Enviar formulario - servidor SMTP con autenticacion

Cita:
Iniciado por sergi_climent Ver Mensaje
ok... pues si te sale el mismo error es q aun no a encontrado donde tienes alojado la clase...
si no he entendido mal tendrias q tener el require asi:
Código PHP:
//en la carpeta class 
//el archivo class.phpmailer.php
require("./class/class.phpmailer.php"); 
¡¡¡Victoriaaaaa!!!

MUCHÍSIMAS GRACIAS

Os daría un beso, JAJAJAJAJAJA

Mil gracias
  #16 (permalink)  
Antiguo 05/03/2007, 11:36
Avatar de Juacks  
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Enviar formulario - servidor SMTP con autenticacion

Ahora que está resuelto, otra pregunta (para redondear la obra)

¿Cómo puedo elegir el formato de letra (tipo, tamaño, color) si el mail que envío está en formato HTML?

Graciassss
  #17 (permalink)  
Antiguo 05/03/2007, 11:45
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Re: Enviar formulario - servidor SMTP con autenticacion

Ten en cuenta que no todos tenemos las mismas tipografias, procura usar una standard, si quieres darle formato al texto tendrás que enviar un correo en formato HTML, aunque dependiendo que tipo de correo envíes tal vez con correo con texto sin formato es más que suficiente ^_^

Un saludo.
__________________
www.pensandoenred.com
  #18 (permalink)  
Antiguo 13/03/2007, 23:48
 
Fecha de Ingreso: marzo-2007
Mensajes: 1
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Enviar formulario - servidor SMTP con autenticacion

ayuda por favor necesito saber xq m marca este error:

Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.prodigy.net.mx:25 (Se ha anulado una conexión establecida por el software en su equipo host.. ) in c:\AppServ\www\phpmailer\class.smtp.php on line 105
Message was not sent
Mailer Error: SMTP Error: Could not connect to SMTP host.

coloco todo correctamente y de hecho es un servidor externo pero si funciona con el outlook.
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 00:46.