Foros del Web » Programando para Internet » PHP »

Conectar a sevidor smtp

Estas en el tema de Conectar a sevidor smtp en el foro de PHP en Foros del Web. Que tal, Mi duda es: Cuando trato de enviar un email desde mi pagina me sale esto: Warning: mail() [function.mail]: SMTP server response: 503 This ...
  #1 (permalink)  
Antiguo 13/05/2008, 20:15
 
Fecha de Ingreso: febrero-2006
Mensajes: 858
Antigüedad: 18 años, 2 meses
Puntos: 4
Conectar a sevidor smtp

Que tal,

Mi duda es:

Cuando trato de enviar un email desde mi pagina me sale esto:

Warning: mail() [function.mail]: SMTP server response: 503 This mail server requires authentication when attempting to send to a non-local e-mail address. Please check your mail client settings or contact your administrator to verify that the domain or address is defined for this server.

ESTE ES MI CODIGO DE FORMULARIO:

Cita:
<form action="contacto/processprop.php" method="post">

<input name='email' type='hidden' id="email" value='[email protected]'>

Nombre:* <input type=text name='nombre' size="25">

C&oacute;digo <input name='codigo' type=text id="codigo" value="<? $cod = $_GET['codigo']; echo $cod; ?>" size="25">

Tel&eacute;fono: <input type=text name='telf' size="25">

Email:* <input name='direccion' type=text id="direccion">

Localidad <input name='localidad' type=text id="localidad" size="25">

Mensaje:* <textarea name='comentario' rows="3" cols="25"></textarea>

<input name="submit" type=submit value='Enviar'>
<input name="reset" type=reset value='Borrar'>
Este es el que lo envia:

Código PHP:
<?php
//autor: jürgen heitmann - dpwgranada.net

//reemplace miasunto por el asunte que quieres en el email
$asunto "Pagina web";

$error 0;

//los campos mandados por el formulario
$nombre $_POST['nombre'];
$cod $_POST['codigo'];
$telf $_POST['telf'];
$email $_POST['email'];
$direccion $_POST['direccion'];
$localidad $_POST['localidad'];
$comentario $_POST['comentario'];

//verificación si los campos requeridos estan llenos
if($nombre == "" || $cod == "" || $email == "" || $direccion == "" || $comentario == ""){
   
$error=1;
}
//verificación si el email es correcto
elseif(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email)){
   
$error=2;
}

//mensajes de error
if($error==1){
   echo 
"El siguiente error ha ocurrido!<BR>";
   echo 
"No ha rellenado todos los campos obligatorios.<BR> Por favor vuelva <A HREF=\"javascript:history.back()\">al formulario</A>.<BR>";
}

elseif(
$error==2){
   echo 
"El siguiente error ha ocurrido!<BR>";
   echo 
"El correo electronico es invalido!<BR> Por favor vuelva <A HREF=\"javascript:history.back()\">al formulario</A>.<BR>";
}

//envio del email con los datos
else{
   
$message ="Nombre: ".$nombre."<br>";
   
$message .="Código: ".$cod."<br>";
   
$message .="Teléfono: ".$telf."<br>";
   
$message .="Email: ".$direccion."<br>";
   
$message .="Localidad: ".$localidad."<br>";
   
$message .="Mensaje: ".$comentario."<br>";
   
   
$message stripslashes($message);
   
   
$headers "MIME-Version: 1.0\r\n";
   
$headers .= "Content-type:text/html; charset=iso-8859-1\r\n";
   
$headers .= "From: $email\r\n";
   
$headers .= "Reply-to: $email\r\n";
   
$headers .= "Cc: $email\r\n";

    
mail($recipiente,$asunto,$message,$headers);
   
//aqui puedes modificar los mensajes
   
echo "El mensaje ha sido enviado!<BR>";
   echo 
"Gracias por su mensage.<BR>Le mandaremos una respuesta lo más pronto posible.<BR>";
   echo 
"<a href='javascript:history.back()'><<-- Volver</a>";

}
?>
Pero entonces lo que quiero saber es como conectarme al servidor smtp desde php...

Con phpmailer lo hice pero no se como adaptar ese formulario a phpmailer..

porfa necesito su ayuda

saludos y gracias
__________________
*La amistad se multiplica cuando se divide*
  #2 (permalink)  
Antiguo 13/05/2008, 20:35
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
Re: Conectar a sevidor smtp

Código PHP:
<?php
require_once "Mail.php";

$from "Sandra Sender <[email protected]>";
$to "Ramona Recipient <[email protected]>";
$subject "Hi!";
$body "Hi,\n\nHow are you?";

$host "mail.example.com";
$username "smtp_username";
$password "smtp_password";

$headers = array ('From' => $from,
  
'To' => $to,
  
'Subject' => $subject);
$smtp Mail::factory('smtp',
  array (
'host' => $host,
    
'auth' => true,
    
'username' => $username,
    
'password' => $password));

$mail $smtp->send($to$headers$body);

if (
PEAR::isError($mail)) {
  echo(
"<p>" $mail->getMessage() . "</p>");
 } else {
  echo(
"<p>Message successfully sent!</p>");
 }
?>
  #3 (permalink)  
Antiguo 13/05/2008, 21:07
 
Fecha de Ingreso: febrero-2006
Mensajes: 858
Antigüedad: 18 años, 2 meses
Puntos: 4
Re: Conectar a sevidor smtp

Que tal,
me devuelve el mismo error
los datos del smtp y todo estan bien
__________________
*La amistad se multiplica cuando se divide*
  #4 (permalink)  
Antiguo 13/05/2008, 22:02
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
Re: Conectar a sevidor smtp

Prueba a mandarlo a un email de otro dominio
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 06:34.