Ver Mensaje Individual
  #11 (permalink)  
Antiguo 04/04/2011, 18:54
Avatar de uikekarallo
uikekarallo
 
Fecha de Ingreso: diciembre-2009
Ubicación: Galicia
Mensajes: 338
Antigüedad: 15 años
Puntos: 16
Respuesta: Intento de envio form por mail que no funciona XD

Aquí te dejo un ejemplo sencillo de uso, sin comprobaciones de datos.
Recuerda que las clases deben estar en el mismo directorio que el script de envío.

Código PHP:
<?php
    $fecha 
date(d.'/'.m.'/'.Y);
    
$hora $_POST['hora'];

    
$nombre $_POST['nombre'];
    
$email $_POST['email'];
    
$telf $_POST['telf'];

    
$mensaje strip_tags($_POST['mensaje']);
    
$mensaje_html preg_replace('/\n/' '<br />' $mensaje);
    
    require_once(
'class.phpmailer.php');
    
//include("class.smtp.php");

    
$mail = new PHPMailer();
    
$mail->SetLanguage("es""");
    
$mail->CharSet "UTF-8";

    
$mail->IsSMTP();
    
$mail->SMTPAuth true;

    
$mail->Host "smpt.servidor.com";
    
$mail->Port "25";

    
$mail->Username "user";
    
$mail->Password "pass";

    
$mail->AddAddress("[email protected]");
    
$mail->AddReplyTo($email $nombre); // responder a: quien lo envia y nombre del que lo envía (el que rellena el form)
    
$mail->SetFrom($email $nombre); // enviado por: lo mismo
    
    
$mail->IsHTML(true);
    
    
$mail->Subject "Asunto del email";
    
    
$mail->Body "
                                    <html>
                                    <head>
                                        <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
                                    </head>
                                    <body>
                                        <table>
                                            <tr>
                                                <td>Formulario recibido.<br />La información es la siguiente:</td>
                                            </tr>
                                        </table>
                                        <p><br /></p>
                                        <table>
                                            <tr>
                                                <td>Fecha del envío:</td>
                                                <td>"
.$fecha."</td>
                                            </tr>
                                            <tr>
                                                <td>Hora:</td>
                                                <td>"
.$hora."</td>
                                            </tr>
                                            <tr>
                                                <td>Nombre:</td>
                                                <td>"
.$nombre."</td>
                                            </tr>
                                            <tr>
                                                <td>E-mail:</td>
                                                <td>"
.$email."</td>
                                            </tr>
                                            <tr>
                                                <td>Teléfono:</td>
                                                <td>"
.$telf."</td>
                                            </tr>
                                        </table>
                                        <p><br /></p>
                                        <p><strong>Mensaje:</strong></p>
                                        <p>"
.$mensaje_html."</p>
                                    </body>
                                    </html>
                                "
;
    
    
$mail->AltBody "Formulario de recibido. La información es la siguiente:
                                        \n\n
                                        Fecha: "
.$fecha."
                                        \n
                                        Hora: "
.$hora."
                                        \n
                                        Nombre: "
.$nombre."
                                        \n
                                        E-mail: "
.$email."
                                        \n
                                        Teléfono: "
.$telf."
                                        \n
                                        \n\n\n
                                        Mensaje:
                                        \n\n
                                        "
.$mensaje;
    
    if( !
$mail->Send() )
    {
        die( 
'Error: '.$mail->ErrorInfo );
        exit();
    }
    else
    {
        
header('Location: /index.php');
        exit();
    }
?>
Como ves, creamos un mensaje en html y otro en texto llano para clientes e-mail que no soporten html.
Espero que te sirva de ayuda.