Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/12/2014, 00:38
ilchelo
 
Fecha de Ingreso: junio-2008
Mensajes: 7
Antigüedad: 15 años, 10 meses
Puntos: 0
PHP Mailer dejó de funcionar en todos mis dominios

Hola, usualmente uso phpmailer en los formularios de contacto de las webs que hago. Pero me he dado cuenta que ya no funciona. Hice varias pruebas pero ninguna funciona. Este es el código que siempre me funcionó y ahora ya no:
(además por supuesto el class.phpmailer.php y el class.smtp.php)

código php:

Código:
<?php 
	include_once('class.phpmailer.php');
	

// Indica si los datos provienen del formulario
	$postback = isset($_POST['postback']) ? true : false;
	
	if ($postback) {
		extract($_POST);
		$mail = new phpmailer (); # Crea una instancia
		$mail -> From = $from;
		$mail -> FromName = $fromname; # Puede obtenerse del formulario, por facilidad se hace de esta manera
		$mail -> AddAddress ("[email protected]");
		$mail -> Subject = ("Contacto web");
		$mail -> Body = "
<b>Nombre y Apellido:</b> $fromname<br />
<b>Empresa:</b> $empresa<br />
<b>Teléfono:</b> $telefono<br />
<b>E-mail:</b> $from<br />
<b>Asunto:</b> $subject<br />
<b>Mensaje:</b> $mensaje<br />
 
$msg
";
		$mail -> IsHTML (true);
		$archivos = '';
		$msg = header("Location: muchasgracias.php");
		
	   	if (isset ($_FILES["archivos"])) { # Si es que se subió algún archivo
			$msg .= "<ul>";
			foreach ($_FILES["archivos"]["error"] as $key => $error) { # Iterar sobre la colección de archivos
				if ($error == UPLOAD_ERR_OK) { // Si no hay error
					$tmp_name = $_FILES["archivos"]["tmp_name"][$key];
					$name = $_FILES["archivos"]["name"][$key];
					$msg .= "<li>$name</li>";
					$name = uniqid('bc') . '_' . $name; # Generar un nombre único para el archivo
					$mail -> AddAttachment ($tmp_name, $name); # Añade el archivo adjunto
					/*
					Si se van a guardar los archivos en un directorio, deberían descomentarse
					las siguientes líneas, si se van a guardar los nombres 
					de los archivos en una base de datos, aquí debería realizarse algo...					
				   	
					move_uploaded_file($tmp_name, "ruta/directorio/$name"); # Guardar el archivo en una ubicación, debe tener los permisos necesarios
					*/
				} #if
	   		} # foreach
			$msg .= '</ul>';
		} # if
		if (!$mail -> Send ()){
			$msg = "No se pudo enviar el email";
		}
	}
?>
Código del formulario html:

Código:
<form action="" method="post" enctype="multipart/form-data" name="frm" class="formulario">

	<label for="fromname">Nombre:</label>
	<input type="text" name="fromname" id="fromname" class="campo"/>

	<label for="empresa">Empresa / Institución:</label>
	<input type="text" name="empresa" id="empresa" class="campo"/>

	<label for="telefono">Teléfono:</label>
	<input type="text" name="telefono" id="telefono" class="campo"/>

	<label for="from">E-mail:</label>
	<input type="text" name="from" id="from" class="campo"/>

	<label for="subject">Asunto:</label>
	<input type="text" name="subject" id="subject" class="campo"/>
	           
	<label for="mensaje">Mensaje:</label>
	<textarea name="mensaje" rows="3" id="mensaje"></textarea>
	<input type="submit" id="postback" name="postback" value="Enviar"/>
	<p><?php if (isset($msg)) echo $msg;?></p>
</form>
Agradecería infinitamente si alguien me echa un cable.

Gracias