Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/05/2012, 14:14
chuntaro18
 
Fecha de Ingreso: mayo-2012
Ubicación: Distrito Federal
Mensajes: 49
Antigüedad: 12 años, 6 meses
Puntos: 9
Respuesta: Pasar envio de e-mail hecho con la funcion mail() a PHPMailer

Bueno anduve investigando mucho mas sobre PHPMailer, y pues creo que ya me va quedando un poco mas claro.

Quisiera que por favor analizaran los cambios que hice y me digan si estoy bien en como modifique el codigo en base a lo que lei de PHPMailer y si tengo algun error me lo señalen. DE antemano gracias por la ayuda.

Bueno en el archivo sugerencias.php quite el campo oculto llamado "gerencia", el cual incluia la direccion de correo a donde se tiene que enviar el e-mail ya que la direccion ahora la voy a poner en el archivo sendformulario.php, especificamente en la parte:

$mail->AddReplyTo("[email protected]");


El archivo que si modifique bastante fue el de sendformulario.php el cual lo hice de dos formas xq la verdad no se cual este bien (a lo mejor ninguno de los 2 lo esta :( pero lo intento).

El codigo de cada uno, ya utilizando la funcion PHPMailer es

sendformualrio.php PRIMER METODO
Código:
<?php

require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP(); // establecemos que utilizaremos SMTP
$mail->SMTPAuth   = true; // habilitamos la autenticación SMTP
$mail->SMTPSecure = "tls";  // establecemos el prefijo del protocolo seguro de comunicación con el servidor
$mail->Host       = "smtp.gmail.com";      // establecemos GMail como nuestro servidor SMTP
$mail->Port       = 587;                   // establecemos el puerto SMTP en el servidor de GMail
$mail->Username   = "[email protected]";  // la cuenta de correo GMail
$mail->Password   = "contraseña";            // password de la cuenta GMail

$mail->SetFrom('[email protected]', 'Nombre Apellido');  //Quien envía el correo
$mail->AddReplyTo("[email protected]","Nombre Apellido");  //A quien debe ir dirigida la respuesta
$mail->Subject    = "Envio de Sugerencias";  //Asunto del mensaje


$mail->Body      = " 

¿AQUI ADENTRO NO SE SI PUEDA IR TODO EL CODIGO HTML COMPLETO ASI COMO LO TENGO EN EL ARCHIVO sendformulario.php ORIGINAL CON LA SIGUIENTE ESTRUCTURA ? O LE TENGO QUE QUITAR ALGO---> 
<html>
<head>
<title>Envio de Sugerencias</title>
<style type="text/css">
CONTENIDO...
</body>
</html> 

";  //Cuerpo del mensaje en código HTML

$destino = "[email protected]";
$mail->AddAddress($address, "Juan Palotes");


if(!$mail->Send()) {
echo "Error en el envío: " . $mail->ErrorInfo;
} else {
 echo "¡Mensaje enviado correctamente!";
}
 
?>

Este es el otro sendformulario.php METODO 2

Código:
require("class.phpmailer.php");


$mail = new PHPMailer();

$mail->IsSMTP(); // establecemos que utilizaremos SMTP
$mail->SMTPAuth   = true; // habilitamos la autenticación SMTP
$mail->SMTPSecure = "tls";  // establecemos el prefijo del protocolo seguro de comunicación con el servidor
$mail->Host       = "smtp.gmail.com";      // establecemos GMail como nuestro servidor SMTP
$mail->Port       = 587;                   // establecemos el puerto SMTP en el servidor de GMail
$mail->Username   = "[email protected]";  // la cuenta de correo GMail
$mail->Password   = "contraseña";            // password de la cuenta GMail

$mail->SetFrom('[email protected]', 'Nombre Apellido');  //Quien envía el correo
$mail->AddReplyTo("[email protected]","Nombre Apellido");  //A quien debe ir dirigida la respuesta
$mail->Subject    = "Envio de Sugerencias";  //Asunto del mensaje

$body = file_get_contents('MENSAJE_A_CORREO.html');
$mail->Body = $body;  //Cuerpo del mensaje en código HTML



$destino = "[email protected]";
$mail->AddAddress($address, "Juan Palotes");


if(!$mail->Send()) {
echo "Error en el envío: " . $mail->ErrorInfo;
} else {
 echo "¡Mensaje enviado correctamente!";
}
 
?>
En este ultimo archivo por lo que pude entender (o no se) que las funciones

$body = file_get_contents('MENSAJE_A_CORREO.html');
$mail->Body = $body; //Cuerpo del mensaje en código HTML

mandan a llamar a un archivo html externo en este caso "MENSAJE_A_CORREO.html" el cual recoge todos los datos del usuario y los envia con el formato de dicho archivo

Por favor diganme si voy por el camino correcto o de plano no entendi nada y hay que leer de nuevo.