Foros del Web » Programando para Internet » PHP »

Error "Warning: mail() [function.mail]:"

Estas en el tema de Error "Warning: mail() [function.mail]:" en el foro de PHP en Foros del Web. Buenas, estoy usando un formulario PHP para que los usuarios de la web se suscriban a los newsletters. El problema es que las cuentas de ...
  #1 (permalink)  
Antiguo 23/05/2011, 15:08
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 12 años, 11 meses
Puntos: 0
Error "Warning: mail() [function.mail]:"

Buenas,

estoy usando un formulario PHP para que los usuarios de la web se suscriban a los newsletters.

El problema es que las cuentas de mail ahora son manejadas a través de Google Apps, y al usar la función mail aparece el siguiente error:

Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 <[email protected]>... we do not relay <[email protected]> in E:\vhosts\golddreams.tv\httpdocs\formsphp\formnews 2.php on line 83

El php es el siguiente:

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>Suscripción de Newsletters - Gold Dreams</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="refresh" content="3;url=http://www.golddreams.tv/">
</head>



<body>

<table width="100%" height="100%"  border="0" cellpadding="4" cellspacing="0">

<tr>

<td height="30" align="center" bgcolor="#990000">

<?php

import_request_variables("gP", "rvar_");

$error = 0;

//if (empty($rvar_NOME)) { $erro=1;}//

if (empty($rvar_Email)) { $error = 1; }

if (!strstr($rvar_Email,"@")) { $error = 1; }

if (!strstr($rvar_Email,".")) { $error = 1; }

if ($error == 0) {

        $mailbody .= "Enviado por: ".getenv("REMOTE_ADDR")."\n";

        $mailbody .= "Data: ".date("F j, Y, g:i a")."\n";

        $mailbody .= str_repeat("-", 80)."\n";

		//$mailbody .= "Nome       :: ".$rvar_NOME."\n";//

        $mailbody .= "E-mail     :: ".$rvar_Email."\n";

		$mailbody .= str_repeat("-", 80)."\n";
		
		$mailbody .= "Suscripción de Newsletters - site www.golddreams.tv\n";
		

@mail($rvar_To,$rvar_Subject,

        $mailbody,

            "From: \"".$rvar_Email."\" <".$rvar_Email.">\r\n"

           ."Reply-To: \"".$rvar_Email."\" <".$rvar_Email.">\r\n"

           ."X-Mailer: Administrador - Gold Dreams - PHP/".phpversion()."");
		   
    $page_title      = "Suscripción de Newsletters"; 

		$page_body_1   = "<br><br>Su suscripción fue enviada correctamente.<br>Recibirá un correo electronico que debe llenar para completar su suscripción.<br><br>Muchas gracias,<br><strong>GOLD DREAMS</strong>.\n";

    $page_button  =  "GOLD DREAMS";
	
$site = "[email protected]";

mail("$rvar_Email","Gracias por Visitarnos", 
"Hola,
Gracias por su interés en www.golddreams.tv 

Con el objetivo de no enviarle información que no sea de su interés, le pedimos que acceda al siguiente link http://www.mailfighter.net/gd/index.php?sid=58872&lang=es
Y elija que información desea recibir

Desde ya agradecemos por su tiempo.

Saluda atte.,
GOLD DREAMS
http://www.golddreams.tv","From: $site");

} else {

    $page_title      = "Suscripción   de Newsletters - error! ";

        $page_body_1   = "<br><br>Por favor, <strong>Llene correctamente</strong> todos los campos solicitados!<br>Muchas gracias.\n";

    $page_button  =  "GOLD DREAMS";
       
}

echo "<font color=\"#FFFFFF\" size=\"2\" face=\"Tahoma\"><strong>\n";



echo $page_title;



echo "</strong></font>\n"

        ."</td>\n"

        ."</tr>\n"

        ."<tr>\n"

        ."<td align=\"center\" valign=\"middle\">\n"

        ."<p><font color=\"#000000\" size=\"2\" face=\"Tahoma\">\n";



echo $page_body_1;

echo "</font>\n"

        ."</p>\n"

        ."</td>\n"

        ."</tr>\n"

        ."<tr>\n"

        ."<td height=\"45\" align=\"center\" bgcolor=\"#990000\">\n"
		
		."<font color=\"#FFFFFF\" size=\"2\" face=\"Tahoma\"><strong>\n";


echo $page_button;



?>

</td>

</tr>

</table>



</body>

</html>
Cualquier ayuda será bienvenida puesto que soy inexperto en el tema.

Muchas gracias
  #2 (permalink)  
Antiguo 23/05/2011, 15:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Error "Warning: mail() [function.mail]:"

El "error" es que tu servidor de SMTP no hace Relay, necesitas conseguir un servidor SMTP que sí lo haga.

Saludos.
  #3 (permalink)  
Antiguo 23/05/2011, 15:25
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Error "Warning: mail() [function.mail]:"

Con mi servidor de SMTP, en este caso te estarías refiriendo a Gmail?

El Hosting está hecho a través de Plesk, y las casillas de mails hasta hace poco también se administraban desde el mismo servicio. Pero para poder utilizar Google Apps correctamente, hubo que "apagar" la administración de mails de Plesk. Al mismo tiemp o comenzó éste problema.

Si puedes brindarme un poco más de información te lo agradeceré mucho.
  #4 (permalink)  
Antiguo 23/05/2011, 15:57
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: Error "Warning: mail() [function.mail]:"

Necesitas usar una cuenta autenticada, en gmail, para poder hacer los envíos; sería mejor que uses la clase PHPMailer.
Por aquí un ejemplo: http://blog.unijimpe.net/enviar-email-con-php-y-gmail/
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #5 (permalink)  
Antiguo 24/05/2011, 11:50
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Error "Warning: mail() [function.mail]:"

Gracias jcxnet, pero no logro hacer que funcione. Probé insertar la primer parte del código que pones de ejemplo y surge el siguiente error:

Código:
Warning: include(class.phpmailer.php) [function.include]: failed to open stream: No such file or directory in E:\vhosts\golddreams.tv\httpdocs\formsphp\formnews2.php on line 29

Warning: include() [function.include]: Failed opening 'class.phpmailer.php' for inclusion (include_path='.;./includes;./pear') in E:\vhosts\golddreams.tv\httpdocs\formsphp\formnews2.php on line 29

Warning: include(class.smtp.php) [function.include]: failed to open stream: No such file or directory in E:\vhosts\golddreams.tv\httpdocs\formsphp\formnews2.php on line 30

Warning: include() [function.include]: Failed opening 'class.smtp.php' for inclusion (include_path='.;./includes;./pear') in E:\vhosts\golddreams.tv\httpdocs\formsphp\formnews2.php on line 30

Fatal error: Class 'PHPMailer' not found in E:\vhosts\golddreams.tv\httpdocs\formsphp\formnews2.php on line 32
Leí por algún lado, que hace falta agregar OPENSSL, el cual no conozco. Como comenté, el código funcionaba correctamente antes de utilizar Google Apps, ya que la administración del correo estaba a cargo de Plesk.
  #6 (permalink)  
Antiguo 24/05/2011, 11:58
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: Error "Warning: mail() [function.mail]:"

Copiaste a tu server los archivos de la clase PHPMailer ?
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #7 (permalink)  
Antiguo 24/05/2011, 12:13
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Error "Warning: mail() [function.mail]:"

Sí. Los copié tal y como los descargué en la misma carpeta donde se encuentra el formulario. ¿Quizá sea otro el directorio donde deba copiarlos?
  #8 (permalink)  
Antiguo 24/05/2011, 12:28
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: Error "Warning: mail() [function.mail]:"

verifica que la ruta donde haces el include de las clases sea la correcta, ten en cuenta los nombres de las carpetas.
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #9 (permalink)  
Antiguo 24/05/2011, 12:29
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Error "Warning: mail() [function.mail]:"

Ok, leyendo la documentación, veo que yo había descargado phpmailer para php 5 pero en el .zip, no están incluídos los archivos class.phpmailer.php, ni class.smtp.php.

En el phpmailer para php 4 si estan. Los subí, y ahora volví al error del principio:

Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 <[email protected]>... we do not relay <[email protected]> in E:\vhosts\golddreams.tv\httpdocs\formsphp\formnews 2.php on line 86

El código actual es el sig.:

Código:
<?php

    include("class.phpmailer.php");
    include("class.smtp.php");
     
    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->SMTPSecure = "ssl";
    $mail->Host = "smtp.gmail.com";
    $mail->Port = 465;
    $mail->Username = "[email protected]";
    $mail->Password = "infogd2011";
import_request_variables("gP", "rvar_");

$error = 0;

//if (empty($rvar_NOME)) { $erro=1;}//

if (empty($rvar_Email)) { $error = 1; }

if (!strstr($rvar_Email,"@")) { $error = 1; }

if (!strstr($rvar_Email,".")) { $error = 1; }

if ($error == 0) {

        $mailbody .= "Enviado por: ".getenv("REMOTE_ADDR")."\n";

        $mailbody .= "Data: ".date("F j, Y, g:i a")."\n";

        $mailbody .= str_repeat("-", 80)."\n";

		//$mailbody .= "Nome       :: ".$rvar_NOME."\n";//

        $mailbody .= "E-mail     :: ".$rvar_Email."\n";

		$mailbody .= str_repeat("-", 80)."\n";
		
		$mailbody .= "Suscripción de Newsletters - site www.golddreams.tv\n";
		

@mail($rvar_To,$rvar_Subject,

        $mailbody,

            "From: \"".$rvar_Email."\" <".$rvar_Email.">\r\n"

           ."Reply-To: \"".$rvar_Email."\" <".$rvar_Email.">\r\n"

           ."X-Mailer: Administrador - Gold Dreams - PHP/".phpversion()."");
		   
    $page_title      = "Suscripción de Newsletters"; 

		$page_body_1   = "<br><br>Su suscripción fue enviada correctamente.<br>Recibirá un correo electronico que debe llenar para completar su suscripción.<br><br>Muchas gracias,<br><strong>GOLD DREAMS</strong>.\n";

    $page_button  =  "GOLD DREAMS";
	
$site = "[email protected]";

mail("$rvar_Email","Gracias por Visitarnos", 
"Hola,
Gracias por su interés en www.golddreams.tv 

Con el objetivo de no enviarle información que no sea de su interés, le pedimos que acceda al siguiente link http://www.mailfighter.net/gd/index.php?sid=58872&lang=es
Y elija que información desea recibir

Desde ya agradecemos por su tiempo.

Saluda atte.,
GOLD DREAMS
http://www.golddreams.tv","From: $site");

} else {

    $page_title      = "Suscripción   de Newsletters - error! ";

        $page_body_1   = "<br><br>Por favor, <strong>Llene correctamente</strong> todos los campos solicitados!<br>Muchas gracias.\n";

    $page_button  =  "GOLD DREAMS";
       
}

echo "<font color=\"#FFFFFF\" size=\"2\" face=\"Tahoma\"><strong>\n";



echo $page_title;



echo "</strong></font>\n"

        ."</td>\n"

        ."</tr>\n"

        ."<tr>\n"

        ."<td align=\"center\" valign=\"middle\">\n"

        ."<p><font color=\"#000000\" size=\"2\" face=\"Tahoma\">\n";



echo $page_body_1;

echo "</font>\n"

        ."</p>\n"

        ."</td>\n"

        ."</tr>\n"

        ."<tr>\n"

        ."<td height=\"45\" align=\"center\" bgcolor=\"#990000\">\n"
		
		."<font color=\"#FFFFFF\" size=\"2\" face=\"Tahoma\"><strong>\n";


echo $page_button;
?>
</html>
  #10 (permalink)  
Antiguo 24/05/2011, 12:49
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: Error "Warning: mail() [function.mail]:"

Descarga esta: http://sourceforge.net/projects/phpm...1.zip/download
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #11 (permalink)  
Antiguo 24/05/2011, 13:05
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Error "Warning: mail() [function.mail]:"

Gracias. Lo reemplacé pero sigue el mismo error:

Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 <[email protected]>... we do not relay <[email protected]> in E:\vhosts\golddreams.tv\httpdocs\formsphp\formnews 2.php on line 86

Intentaré otro script a ver si doy con la solución.
  #12 (permalink)  
Antiguo 24/05/2011, 13:07
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: Error "Warning: mail() [function.mail]:"

en el zip que descargaste hay un ejemplo con gmail
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #13 (permalink)  
Antiguo 24/05/2011, 16:11
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Error "Warning: mail() [function.mail]:"

El ejemplo en principio funciona, pero tengo que ver como adaptarlo para ver si logro que haga lo que necesito.

Con el último código que subí me aparece un error que entiendo corresponde a la parte de envío de mail al interesado.

Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 <[email protected]>... we do not relay <[email protected]> in E:\vhosts\golddreams.tv\httpdocs\formsphp\formnews 2.php on line 99


la línea en cuestión está en la última parte del código (en rojo):

Código:
@mail($rvar_To,$rvar_Subject,

        $mailbody,

            "From: \"".$rvar_Email."\" <".$rvar_Email.">\r\n"

           ."Reply-To: \"".$rvar_Email."\" <".$rvar_Email.">\r\n"

           ."X-Mailer: Administrador - Gold Dreams - PHP/".phpversion()."");
		   
    $page_title      = "Suscripción de Newsletters"; 

		$page_body_1   = "<br><br>Su suscripción fue enviada correctamente.<br>Recibirá un correo electronico que debe llenar para completar su suscripción.<br><br>Muchas gracias,<br><strong>GOLD DREAMS</strong>.\n";

    $page_button  =  "GOLD DREAMS";
	
$site = "[email protected]";

mail("$rvar_Email","Gracias por Visitarnos", 
"Hola, 
Gracias por su interés en www.golddreams.tv 

Con el objetivo de no enviarle información que no sea de su interés, le pedimos que acceda al siguiente link http://www.mailfighter.net/gd/index.php?sid=58872&lang=es
Y elija que información desea recibir

Desde ya agradecemos por su tiempo.

Saluda atte.,
GOLD DREAMS
http://www.golddreams.tv","From: $site");

} else {

    $page_title      = "Suscripción   de Newsletters - error! ";

        $page_body_1   = "<br><br>Por favor, <strong>Llene correctamente</strong> todos los campos solicitados!<br>Muchas gracias.\n";

    $page_button  =  "GOLD DREAMS";
       
}

echo "<font color=\"#FFFFFF\" size=\"2\" face=\"Tahoma\"><strong>\n";



echo $page_title;



echo "</strong></font>\n"

        ."</td>\n"

        ."</tr>\n"

        ."<tr>\n"

        ."<td align=\"center\" valign=\"middle\">\n"

        ."<p><font color=\"#000000\" size=\"2\" face=\"Tahoma\">\n";



echo $page_body_1;

echo "</font>\n"

        ."</p>\n"

        ."</td>\n"

        ."</tr>\n"

        ."<tr>\n"

        ."<td height=\"45\" align=\"center\" bgcolor=\"#990000\">\n"
		
		."<font color=\"#FFFFFF\" size=\"2\" face=\"Tahoma\"><strong>\n";


echo $page_button;

Etiquetas: mail, warning
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 20:44.