Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, tenho problemas com e-mails indo para o SPAM que não é de hoje...
O código que fiz abaixo para envio está enviando as mensagens direto para SPAM, seja no gmail, hotmail...
Alguem tem uma solução pra isso?
<?
//Configurando variaveis
$mail_remetente = ""; //Sempre utilize um email do site
$mail_destino = ""; //Destino que tem conta no hotmail.com entre outros
$mail_assunto = "Testando script";
$mail_conteudo = "<b>Teste</b>";
//Setando header
$mail_headers = implode ( "\n",array ( "From: $mail_remetente","Subject: $mail_assunto","Return-Path: $mail_remetente","MIME-Version: 1.0","X-Priority: 3","Content-Type: text/html" ) );
//Enviando o email
$ok = mail ( $mail_destino,$mail_assunto,$mail_conteudo,$mail_headers );
//Se foi enviado…
if ( $ok ) echo "ENVIADO!";
else echo "NAO ENVIADO!";
?>Não rolou também, foi para SPAM do mesmo jeito...
Essa função MAIL do PHP é F***, vira e mexe vai para SPAM,
Aconselho à utilizar PHP Mailer, creio que com isso seu problema será solucionado :closedeyes:
PHPMailer e seja feliz /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif&key=f16394cbddc7140988e95da40d87cdc04e8fd18618efd400ded17391eb1801ce" alt="thumbsup.gif" />
http://blog.thiagobelem.net/enviar-e-mails-pelo-php-usando-o-phpmailer/
Envie os headers corretamente.
No Linux, você pode definir o From das seguintes formas:
$headers .= "From: eu@seudominio.com\n";
$headers .= "From: Meu Nome <eu@seudominio.com>\n";
No Windows:
$headers .= "From: eu@seudominio.com\r\n";
Tente desta forma:
<?php
$subject = 'Assunto';
$from = 'fulano@gmail.com';
$to = 'ciclano@hotmail.com';
$bcc = null; // Esconder endereços de e-mails.
$cc = null; // Qualquer destinatário pode ver os endereços de e-mail especificados nos campos To e Cc.
$message = 'Corpo da mensagem';
$headers = sprintf( 'Date: %s%s', date( "D, d M Y H:i:s O" ), PHP_EOL );
$headers .= sprintf( 'Return-Path: %s%s', $from, PHP_EOL );
$headers .= sprintf( 'To: %s%s', $to, PHP_EOL );
$headers .= sprintf( 'Cc: %s%s', $cc, PHP_EOL );
$headers .= sprintf( 'Bcc: %s%s', $bcc, PHP_EOL );
$headers .= sprintf( 'From: %s%s', $from, PHP_EOL );
$headers .= sprintf( 'Reply-To: %s%s', $from, PHP_EOL );
$headers .= sprintf( 'Message-ID: <%s@%s>%s', md5( uniqid( rand( ), true ) ), $_SERVER[ 'HTTP_HOST' ], PHP_EOL );
$headers .= sprintf( 'X-Priority: %d%s', 3, PHP_EOL );
$headers .= sprintf( 'X-Mailer: PHP/%s%s', phpversion( ), PHP_EOL );
$headers .= sprintf( 'Disposition-Notification-To: %s%s', $from, PHP_EOL );
$headers .= sprintf( 'MIME-Version: 1.0%s', PHP_EOL );
$headers .= sprintf( 'Content-Transfer-Encoding: 8bit%s', PHP_EOL );
$headers .= sprintf( 'Content-Type: text/html; charset="iso-8859-1"%s', PHP_EOL );
mail( null, $subject, $message, $headers );
?>
Verifique se todas as variáveis que você utilizar estão com os valores corretos.
Talvez seja pelo fato de você mandar pelo email do seu site , que não é verificado ( ou não ) . Tenta mandar com um email hotmail