Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Envío de Correos HTML median PHP

Estas en el tema de Envío de Correos HTML median PHP en el foro de PHP en Foros del Web. Hola estoy desarrollando una aplicación web con php y tengo 2 problemas con el script que estoy utilizando, la esencia de lo que se debería ...
  #1 (permalink)  
Antiguo 11/07/2014, 22:49
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años, 1 mes
Puntos: 2
Pregunta Envío de Correos HTML median PHP

Hola estoy desarrollando una aplicación web con php y tengo 2 problemas con el script que estoy utilizando, la esencia de lo que se debería hacer es lo siguiente:

Tengo un panel de administración en dicho panel tengo la opción de enviar un correo, escribo el correo en mi formulario y los datos los proceso con el siguiere script:

Código:
<?php
	include("../Sesion/verificar.php");
	$idperfil = $_GET['id'];
	
	$email = $_POST['email'];
	if($email != null)
	{
		if(preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/' ,$email))
		{
			$url = "http://www.manueldardon.net/Suministra/Empleos/index.php?id=" . $idperfil;
			$para  = $email;
			// Asunto
			$titulo = 'Usted a sido invitado para aplicar a una plaza de trabajo';

			// Cuerpo o mensaje
			$mensaje = '
			<html>
			<head>
			  <title>Nueva plaza de trabajo</title>
			</head>
			<body>
			  <h1>Aplique a una nueva plaza</h1>
			  <p>Se ha creado una nueva plaza de trabajo para que usted pueda aplicar a ella, si est&aacute; interesado en aplicar por favor haga clic en el siguiente hiperv&iacute;nculo, si no funciona copie la direcci&oacute;n de internet y peguela en la barra de direcciones de su navegador para poder aceptar</p>
			  <h2>Hiperv&iacute;nculo</h2>
			  <p>'.$url.'</p>
			  <br />
			  <img src="http://manueldardon.net/Suministra/Imagenes/logo.png" />
			</body>
			</html>
			';

			// Cabecera que especifica que es un HMTL
			$cabeceras  = 'MIME-Version: 1.0' . "\r\n";
			$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

			// Cabeceras adicionales
			$cabeceras .= 'From: Nueva Plaza <[email protected]>';

			// enviamos el correo!
			mail($para, $titulo, $mensaje, $cabeceras);
?>
<script type="text/javascript">
	alert('Email enviado con éxito');
	window.location.href='http://www.manueldardon.net/Suministra/Administracion/perfilactivo.php?id=<?php echo $idperfil; ?>';
</script>
<?php			
		}
		else
		{
			echo "<script type='text/javascript'>alert('¡No es una cuenta de correo valida!')</script>";
		}
	}
	else
	{
		echo "<script type='text/javascript'>alert('¡Ha dejado en blanco el campo!')</script>";
	}
?>
Primer Problema:
La fusión mail está funcionando me envía el correo y me muestra el vínculo al que quiero que el usuario valla el problema es que cuando el usuario hace clic en el vínculo este se direcciona pero sin la variable que quiero pasar por la url.

Segundo problema
Lo otro es que como estoy dentro de mi panel de administración estoy usando variables de sesión y la idea es que cuando envié el correo me lleve a cierta página de mi sistema pero las variables de sesion se pierden y me envia al login.

Me funciono todo bien usando este script pero es muy pobre en diseño y no puedo desplegar el alert de javascript inicando que el correo se envio:

Código:
$url = "http://www.manueldardon.net/Suministra/Empleos/index.php?id=" . $idperfil;
$destinatario = $email;
$asunto = "Ha sido invitado para aplicar a una plaza de trabajo";
$cuerpo = '
Suministra
Hola '.$usuario. "\n";
$cuerpo .= '
Tenemos una nueva plaza que puede interesarle '. "\n";
$cuerpo .= $contrasena. "\n" . "\n";
$cuerpo .= 'Haga clic en el el siguiente hipervinculo para ingresar'. "\n";
$cuerpo .= $url. "\n";
$cuerpo .= ' Si el enlace no funciona copialo y pegelo en su navegador';
mail($destinatario,$asunto,$cuerpo);
header("location: http://www.manueldardon.net/Suministra/Administracion/perfilactivo.php?id=". $idperfil);
Espero haber sido claro y gracias por cualquier soporte.

Etiquetas: html, javascript, mail
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 14:45.