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);
}
?>