Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Enigma_Hash en 26 Marzo 2013, 18:19 pm



Título: Envio de correo con phpmailer
Publicado por: Enigma_Hash en 26 Marzo 2013, 18:19 pm
Hola me gustaria saber porque al enviar el correo gmail lo recibe como spam

HTML:
Código:
<!DOCTYPE html>
<head>
<title>form</title>

</head>
<html>
<body>
<form name="datos" action="envio.php" method="POST">
<table align="center" border=0>
<tr>
<td>nombre</td>
<td><input type="text" name="nombre" size=10></td>
</tr>
<tr>
<td>asunto</td>
<td><input type="text" name="asunto"></td>
</tr>
<tr>
<td>email</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Enviar">
</tr>
</table>
</form>
</body>
</html>


PHP:

Código:
<?php

require_once('PHPMailer-master/class.phpmailer.php');
$nom=$_POST['nombre'];
$asu=$_POST['asunto'];
$ema=$_POST['email'];
$mail             = new PHPMailer();
$header  = "Return-Path: micorreoein.com\n";
$header .= "X-Sender: micorreoein.com\n";
$header .= "From: This is my website <micorreoein.com>\n";
$header .= "X-Mailer:PHP 5.1\n";
$header .= "MIME-Version: 1.0\n";
$header .= 'From: alberto <micorreoein.com>' . "\r\n";
$header .= 'Cc: micorreoein.com' . "\r\n";
$header .= 'Bcc: micorreoein.com' . "\r\n";
$header .= "Reply-To: micorreoein.com\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: text/plain; method=REQUEST; charset=utf-8\n";
$header .= "Content-Transfer-Encoding: 8bit\n";
$header .= "Content-class: urn:content-classes:calendarmessage\n";
$body             = "Prueba de envio ";
$mail->IsMail();
$mail->IsSMTP();
$mail->SMTPAuth   = true;
$mail->Mailer     = "smtp";
$mail->Host       = "bbbb.ffff.com";
$mail->Port       = 587;
$mail->Username   = "micorreoein.com";
$mail->Password   = "*****";
$mail->Subject    = $asu;
$mail->MsgHTML($body);
$mail->SetFrom('micorreoein.com');
$mail->AddReplyTo("micorreoein.com");
$mail->AddAddress($ema, $nom);
if(!$mail->Send($header)) {
 echo 'Error al enviar mensaje ' . $mail->ErrorInfo;

}
else {
 echo "Mensaje enviado";
}
?>


PD: es un ejemplo no os centreis en el html xDDD.


Título: Re: Envio de correo con phpmailer
Publicado por: 1mpuls0 en 26 Marzo 2013, 19:06 pm
Al parecer es difícil lograr que cuando se envía en formato HTML, éste no llegue a la bandeja de Spam

Intenta usando isHTML(false), omitir AltBody, y redactar el Body sin etiquetas HTML.
Podrías hacer algún tipo de función que identifique si el destinatario es hotmail y si envía solo texto plano.

Saludos.


Título: Re: Envio de correo con phpmailer
Publicado por: #!drvy en 26 Marzo 2013, 19:20 pm
También ten en cuenta que si lo envías desde un servidor (aaa.com) y en el correo pones que lo envías (from:) desde otro (bbb.com) seguramente acabe en la bandeja spam.




Saludos


Título: Re: Envio de correo con phpmailer
Publicado por: Enigma_Hash en 26 Marzo 2013, 19:31 pm
Gracias pero he probado ambas cpsas y nada sigue llegando como spam.


Título: Re: Envio de correo con phpmailer
Publicado por: Enigma_Hash en 27 Marzo 2013, 10:38 am
Nadie sabe como solucionarlo?


Título: Re: Envio de correo con phpmailer
Publicado por: #!drvy en 28 Marzo 2013, 01:58 am
Es que no existe una solución mágica. Cada servidor de correo es distinto.. tiene políticas distintas. Algunos tienen una lista blanca de servidores y todo lo demás se considera spam.. etc..etc. Por otra parte, prueba quitando headers.. reducirlos al mínimo y poner solo datos verdaderos...

Saludos