Foros del Web » Programando para Internet » PHP »

Clase SMTP: no puedo pasar una variable del formulario al parametro FROM

Estas en el tema de Clase SMTP: no puedo pasar una variable del formulario al parametro FROM en el foro de PHP en Foros del Web. Hola amigos, me he topado con un hosting (Triara telemex Mexico) que requiere de autenticacion para enviar el correo de contacto desde un formulario. Encontre ...
  #1 (permalink)  
Antiguo 14/05/2011, 21:36
 
Fecha de Ingreso: mayo-2011
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Exclamación Clase SMTP: no puedo pasar una variable del formulario al parametro FROM

Hola amigos, me he topado con un hosting (Triara telemex Mexico) que requiere de autenticacion para enviar el correo de contacto desde un formulario.
Encontre esta clase que es popular y Mi formulario esta en flash. Ya he logrado que envie el correo y pase los campos correctamente pero lo que yo deseo es que el remitente (nombre y correo) sean enviados como tal en los headers ( From: y Reply to:) pero no logro hacerlo... suponia que solo era cosa de pasar la variable pero no funciona...
no se si esta algo mal con la sintaxis, las comillas o si de plano no es posible en este tipo de codigo... me imagino que talves por seguridad no se puede. En realidad no se PHP y solo he modificado algunos scripts por lo que no se donde pueda estar el error... apreciare mucho su ayuda:

<?php
// Funciona para Windows y UNIX. Formato Texto Plano
// El archivo class.smtp.inc no necesita cambios.
// Este archivo PHP es el que debe de ser modificado para recibir
// las variables de la forma en HTML o Flash.

include('class.smtp.inc');
header('Content-Type: text/plain');



// Poner todas las variables del su arvhivo Flash sobre la variable $message.

$remitente = $message . "$correo";

$hoy = date ("d F Y");
$message = $message . "RECIBIDO EL: $hoy\n\n";
$message = $message . "NOMBRE: $nombre \n \n";
$message = $message . "CORREO: $correo \n \n";
$message = $message . "TELEFONO: $telefono \n \n";
$message = $message . "COMENTARIOS: $comentario \n \n";




/***************************************
** FAVOR DE VIRIFICAR LOS DATOS QUE ACONTINUACIÓN SE PONEN
***************************************/


$params['host'] = 'XXX.XX.XXX.X'; // Verificar con un ping al smtp la direccion IP
$params['port'] = 25; // The smtp server port
$params['helo'] = 'dominio.com.mx'; // Su dominio.
$params['auth'] = TRUE; // Whether to use basic authentication or not
$params['user'] = '[email protected]'; // Correo que utilizara para enviar los correos (no usar el de webmaster por seguridad)
$params['pass'] = '123456'; // Password de la cta de correo. Necesaria para la autenticacion


/***************************************
** FAVOR DE VIRIFICAR LOS DATOS QUE ACONTINUACIÓN SE PONEN

***************************************/

$send_params['recipients'] = array('[email protected]'); // Los remitentes pueden ser varios, separados por coma.


$send_params['headers']= array(

'From: "prueba" <[email protected]>', //esto es lo que creo que hay que modificar y la linea de from mas abajo yo trate con "From: $remitente <$remitente>", pero no funciona
'To: [email protected]',
'Subject: correo de prueba'

);


$send_params['from']= '[email protected]'; // No puede ser una direccion de otro dominio pero yo quiero que despliegue el remitente, ya trate cambiandolo pero entonces no fnciona el envio...
//This is used as in the MAIL FROM: cmd
// It should end up as the Return-Path: header
$send_params['body'] = $message; //Message
// The body of the email


/***************************************
** FAVOR DE VIRIFICAR LOS DATOS QUE ACONTINUACIÓN SE PONEN
** CAMBIAR "PRUEBA" POR SU DOMINIO
***************************************/

if(is_object($smtp = smtp::connect($params)) AND $smtp->send($send_params)){
Header("Location: http://www.prueba.com.mx/formularios/ok.htm"); // PONER EL NOMBRE DEL DOMINIO y verificar en donde se encuentra el archivo ok.htm.
exit;

// Any recipients that failed (relaying denied for example) will be logged in the errors variable.
//print_r($smtp->errors);

}else{
Header("Location: http://www.prueba.com.mx/formularios/bad.htm");// PONER EL NOMBRE DEL DOMINIO y verificar en donde se encuentra el archivo bad.htm.
exit;

// The reason for failure should be in the errors variable
//print_r($smtp->errors);
}
?>

Etiquetas: clase, pasar, smtp, formulario, variables
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 08:03.