Ver Mensaje Individual
  #8 (permalink)  
Antiguo 02/06/2015, 06:23
johnnymartins
 
Fecha de Ingreso: mayo-2015
Mensajes: 27
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Imposible enviar mail desde localhost

Estimado amigo de Forosdelweb;

Quiero explicarte paso a paso como lo tengo todo.

Tengo instalado el AppServ Apache 2.2 con el php 6

Para enviar correo con gmail he configurado mi php.ini de esta manera:

[mail function]
; For Win32 only.
SMTP = smtp.gmail.com
smtp_port = 25

; For Win32 only.
;sendmail_from = aquí pongo desde donde se envía el email

-----------------------------------------------------------------------

Después he creado este formulario en php:

<?php

$msg = null;

if (isset($_POST["phpmailer"]))
{

$nombre = htmlspecialchars($_POST["nombre"]);
$email = htmlspecialchars($_POST["email"]);
$asunto =htmlspecialchars( $_POST["asunto"]);
$mensaje = $_POST["mensaje"];
$adjunto = $_FILES["adjunto"];

require "class.phpmailer.php";

$mail = new PHPMailer;

//indico a la clase que use SMTP
$mail->IsSMTP();

//permite modo debug para ver mensajes de las cosas que van ocurriendo
//$mail->SMTPDebug = 2;

//Debo de hacer autenticación SMTP
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";

//indico el servidor de gmail para SMTP
$mail->Host = "smtp.gmail.com";

//indico el puerto que usa gmail
$mail->Port = 587;

//indico un usuario / clave de usuario de gmail
$mail->Username = "aquí pongo mi email";
$mail->Password = "aquí pongo mi contraseña";

$mail->From = "[email protected]";

$mail->FromName = "Administrador";

$mail->Subject = $asunto;

$mail->addAddress($email, $nombre);

$mail->MsgHTML($mensaje);


if ($adjunto ["size"] > 0)
{

$mail->addAttachment($adjunto ["tmp_name"], $adjunto ["name"]);
}


if($mail->Send())
{
$msg= "Enhorabuena el mensaje ha sido enviado con exito a $email";
}
else
{
$msg = "Lo siento, ha habido un error al enviar el mensaje a $email";
}
}
?>

<!DOCTYPE HTML>
<html>
<head>
<title>Contacto</title>
<meta charset="UTF-8">
</head>
<body>
<h1>Enviar emails con PHPMailer a través de una cuenta de Gmail</h1>
<h3>Email de Contacto</h3>
<strong><?php echo $msg; ?></strong>

<form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="post" enctype="multipart/form-data">

<table border="0">
<tr>
<td>Nombre del destinatario:</td>
<td><input name="nombre" type="text" id="nombre"></td>
</tr>
<tr>
<td>Email del destinatario:</td>
<td><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td>Asunto:</td>
<td><input name="asunto" type="text" id="asunto"></td>
</tr>
<tr>
<td>Archivo adjunto:</td>
<td><input type="file" name="adjunto"></td>
</tr>
<tr>
<td>Mensaje:</td>
<td><textarea name="mensaje" cols="50" rows="15" id="mensaje"></textarea></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Enviar"></td>
</tr>
</table>
<input type="hidden" name="phpmailer">
</form>
</body>

----------------------------------------------------------------------------

Y en el 'class.phpmailer.php' solo he cambiado esto:


public $Host = 'localhost';


public $Port = 25;




----------------------------------------------------------

'Lo que aparece en color rojo es lo que he modificado'

Me gustaría saber donde estoy teniendo el fallo que no me deja enviar el email.

Un saludo y gracias de nuevo por ayudarme.