Muchisimas gracias por tu respusta, pero no estoy deacuerdo con tigo.
Para enviar los correos o formularios web, no es necesario tener un mailserver completo.
La forma mas facil sin complicarte la vida es usando la clase de php "phpmailer", ya lo hice y funciono, como te dije el problema es que el email de mi gmail aparece. Esto es debido a que he usado solo dos archivos de phpmailer modificados que vi en internet. Funciono y funciona.
Creo que me he equivocado al hacer esto pues en otros manuales me dicen que no toque nada de "class.smtp.php" y "class.phpmailer.php" que todo se hacer en el propio archivo php que envia el correo "enviar_contacto.php"
Ejemplo de "enviar_correo.php" que he usado:
Código PHP :
<?php
// Adquirimos las variables del formulario y mas
$dia=date("d.m.Y");
$hora=date("H:i:s");
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$asunto = $_POST['asunto'];
$telefono = $_POST['telefono'];
$texto = $_POST['texto'];
$mensaje = "
El mensaje se a enviado el dia: $dia a las: $hora <br><br>
----------------------------------------------------------------------------<br><br>
Nombre: $nombre <br><br>
Email: $email <br><br>
Telefono: $telefono <br><br>
Asunto: $asunto <br><br>
Texto: $texto <br><br>
----------------------------------------------------------------------------<br><br>
";
require("class.phpmailer.php");
//------------------------------------------------------
$correo_destino="[email protected]"; //a que correo llega
$nombre_destino="[email protected]"; //nombre de quien recibe
$correo_emisor="[email protected]"; //tu correo
$nombre_emisor="FORMULARIO DE CONTACTO"; //tu nombre
$contrasena="mipass"; //contraseña de tu usuario
//--------------------------------------------------------
$mail = new PHPMailer();
$mail->IsSMTP(); // Envia el correo via SMTP
$mail->SMTPAuth = true; // Enciende la autenticacion SMTP
$mail->Username = $correo_emisor; // Usuario SMTP
$mail->Password = $contrasena; // Contrasena SMTP
$mail->From = $correo_emisor;
$mail->FromName = $nombre_emisor; //Nombre del que envia el correo
$mail->AddAddress($correo_destino,$nombre_destino);
$mail->AddReplyTo($correo_emisor,$nombre_emisor);
$mail->WordWrap = 50; // Word wrap
$mail->IsHTML(true); // Enviar como HTML
$mail->Subject = "FORMULARIO DE CONTACTO"; //Asunto
$mail->Body = $mensaje; //Cuerpo en HMTL
$mail->AltBody = "
El mensaje se a enviado el dia: $dia a las: $hora <br><br>
----------------------------------------------------------------------------<br><br>
Nombre: $nombre <br><br>
Email: $email <br><br>
Telefono: $telefono <br><br>
Asunto: $asunto <br><br>
Texto: $texto <br><br>
----------------------------------------------------------------------------<br><br>
"; //Cuerpo en Texto plano
if(!$mail->Send()){
echo "Error: " . $mail->ErrorInfo;
}else{
echo "OK, SENDMAIL";
}
?>
Como veras no aparece en este archivo el smtp de gmail que es "smtp.gmail.com", esto aparece en "class.smtp.php" cambiando host y port.
Me han dicho que no lo haga asi, que coja y haga esto:
1) Descargar "phpmailer" crear en un directorio que se llame por ejemplo "phpmailer" dentro poner estos archivos que vienen en "phpmailer" sin tocar: class.smtp.php, clas.phpmailer.php, class.pop3.php y el directorio language.
2) el enviar_contacto.php hacerlo así:
Código PHP :
<?php
// Adquirimos las variables del formulario y mas
$dia=date("d.m.Y");
$hora=date("H:i:s");
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$asunto = $_POST['asunto'];
$telefono = $_POST['telefono'];
$texto = $_POST['texto'];
$mensaje = "
El mensaje se a enviado el dia: $dia a las: $hora <br><br>
----------------------------------------------------------------------------<br><br>
Nombre: $nombre <br><br>
Email: $email <br><br>
Telefono: $telefono <br><br>
Asunto: $asunto <br><br>
Texto: $texto <br><br>
----------------------------------------------------------------------------<br><br>
";
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer ();
$mail -> IsSMTP();
$mail -> SMTPAuth = true;
$mail -> port = 465;
$mail -> host = 'smtp.gmail.com';
$mail -> UserName = '[email protected]';
$mail -> Password = '***********';
$mail -> SetFrom = '[email protected]' , 'midominio.com';
$mail -> AddAdress ('[email protected]' , 'midominio.com');
$mail -> IsHTML(true);
$mail -> Subject = 'FORMULARIO DE CONTACTO DE MIDOMINIO.COM';
$mail -> Body = $mensaje;
$mail->AltBody = "
El mensaje se a enviado el dia: $dia a las: $hora <br><br>
----------------------------------------------------------------------------<br><br>
Nombre: $nombre <br><br>
Email: $email <br><br>
Telefono: $telefono <br><br>
Asunto: $asunto <br><br>
Texto: $texto <br><br>
----------------------------------------------------------------------------<br><br>
";
if(!$mail->Send()){
echo "Error: " . $mail->ErrorInfo;
}else{
echo "OK, SENDMAIL";
}
?>
Como ves aqui si aparece host y port ya que no se modifico class.smtp.php.
No lo he probado asi pero me dicen que debe funcionar y ahora ya no te dice que el email remitente es mi gamil ahora dice que es:
$mail -> SetFrom = '
[email protected]' , 'midominio.com';
Para 1&1 me han dicho que como son especiales jajajajaja debo cambiar esta linea:
$mail -> IsSMTP();
por esta otra:
$mail -> IsSendmail();
Dejamos para despues lo del mailserver (para discutir unas cosas sobre programas a usar) pues por el momento solo quiero enviar, solo enviar.
Un cordial saludo y muchas gracias de ante mano: Manyblue