Buenas...
En una pagina, con mas cosas, tengo un formulario de la que tomo unas variables, estas las valido y envío por correo...
Código PHP:
<?php
session_start();
session_id();
$nombre = $_POST['name'];
$mailo = $_POST['mail'];
require "includes/class.phpmailer.php";
$mail = new phpmailer();
$mail->PluginDir = "includes/";
$mail->Mailer = "smtp";
$mail->Host = "smtp.***.com";
$mail->SMTPAuth = true;
$mail->Username = "**@****.com";
$mail->Password = "***";
$mail->From = "**@****.com";
$mail->FromName = "**";
$mail->Timeout=30;
$mail->AddAddress("**@***.com");
$mail->Subject = "**";
$mail->Body = "$nombre, $mailo";
$mail->AltBody = "para ver el mensaje necesita html";
$intentos=1;
$exito = $mail->Send();
if(!isset($_POST['submit']))
{
if (empty($nombre))
{
echo "<script>
alert('Por favor Ingrese un nombre')
</script>";
echo "<html><head></head>".
"<body onload=\"history.go(-2)\">".
"</body></html>";
exit;
}
elseif (empty($mailo))
{
echo "<script>
alert('Por favor Ingrese un e-mail')
</script>";
echo "<html><head></head>".
"<body onload=\"history.go(-2)\">".
"</body></html>";
exit;
}
}
else ((!empty($mailo)) && (!empty($nombre)))
{
while ((!$exito) && ($intentos < 5)) {
sleep(5);
$exito = $mail->Send();
$intentos=$intentos+1;
if(!$exito)
{
echo "Problemas enviando correo electrónico a ".$valor;
echo "<br/>".$mail->ErrorInfo;
}
else
{
echo "<script>
alert('Enviado. Gracias! :) ')
window.location.href = 'index.html';
</script>";
exit;
}
}
}
session_destroy()
?>
Bueno por partes:
El phpmailer funciona me envía el correo.
Las validaciones Funcionan me arroja las alertas.
PERO al añadir los intentos con while() ya no jala... se que estoy mal en algún punto pero no veo en cual ya cambie las posiciones del while (no se como se le llama, le puse y quite { } )
La idea es que:
Verifique que dos campos tengan contenido
Si NO tienen contenido que mande alerta y regresa a una pagina
Si SI tiene contenido que haga 5 intentos para el envío del correo
Si logra hacer un envío que mande alerta
Si no hace el envío que mande alerta
Ya casi lo huelo... pero no me queda auxilio por favor...