Tengo una seria duda en la programación de un formulario de contacto
Tengo contratado un hosting en un empresa y resulta que por "motivos de seguridad" no puedo poner este código PHP porque no funcionará:
Código PHP:
$destino = "[email protected]";
$nombre = $_Post["nombre"];
$correo = $_Post["correo"];
$numero = $_Post["numero"];
$website = $_Post["website"];
$mensaje = $_Post["mensaje"];
$contenido = "Nombre: " . $nombre . "\nCorreo: " .$correo . "\nTeléfono" . $numero . "\nWebsite" . $website . "\nMensaje" . $mensaje;
mail($destino,="Contacto", $contenido);
header("Location:index.html");
?>
Le indicamos que por razones de seguridad la función Mail para el servidor está bloqueada.
Para hacer envíos de correo desde la plataforma de hosting compartido, tiene que hacer una autenticación SMTP completa.
Código PHP:
error_reporting( E_ALL & ~( E_NOTICE | E_STRICT | E_DEPRECATED ) ); //Aquí se genera un control de errores "NO BORRAR NI SUSTITUIR"
require_once "Mail.php"; //Aquí se llama a la función mail "NO BORRAR NI SUSTITUIR"
$to = ''; //Aquí definimos quien recibirá el formulario
$from = ''; //Aquí definimos que cuenta mandará el correo, generalmente perteneciente al mismo dominio
$host = ''; //Aquí definimos cual es el servidor de correo saliente desde el que se enviaran los correos
$username = ''; //Aqui se define el usuario de la cuenta de correo
$password = ''; //Aquí se define la contraseña de la cuenta d ecorreo que enviará el mensaje
$subject = ''; //Aquí se define el asunto del correo
$body = ''; //Aquí se define el cuerpo de correo
//A partir de aquí empleamos la función mail para enviar el formulario
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
//Una vez aquí habremos enviado el mensaje mediante el formulario
//El siguiente codigo muestra en pantalla un mensaje indicando que el mensaje ha sido enviado y a que cuenta ES OPCIONAL. Lo incluimos para verificar que el formulario de prueba esta funcionando
if (PEAR::isError($mail)) {
echo("
" . $mail->getMessage() . "
");
} else {
echo "Mensaje enviado desde POA a ". $to ;
}
?>
Muchas gracias por vuestro tiempo