Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Almeida Jr

Função Mail() do Php

Recommended Posts

Olá,

 

Estou com o seguinte código:

// pega os valores digitads nos textfields (formulário)

 

$nomeqrecomendou = $_POST['txtnome'];

$emailqrecomendou = $_POST['txtemail'];

$destino = $_POST['txtemail2'];

$assunto = 'Recomendação de produto';

$site = "<a href='http://osite' target='_blank'>osite</a>";

// pegar o valor digitado no txtmsg para adicionar no BD

$msgbd = $_POST[trim('txtmsg')];

$msgmail = "<P>";

$msgmail .= "$nomeqrecomendou<br><br>Pensou em você ao visitar o nosso site $site e recomendou você visitar o seguinte produto:<br>";

$msgmail .= "<a href='http://osite/index_.php?mnID=detalhesdoproduto&detprodID=$detprodId'>http://osite/index_.php?mnID=detalhesdoproduto&detprodID=$detprodId</a><br>";

// pegar o valor digitado no txtmsg para mandar por E-mail

$msgmail .= "Mensagem: $msgbd<br>";

 

$html = "Content-Type: text/html; charset=iso-8859-1\n";

$html.= "From: $nomeqrecomendou:<$emailqrecomendou>\n";

// A função mail em php manda as dados por e-mail de destino

mail($destino,$assunto,$msgmail,$html);

// Exibe uma mensagem de recebimento caso tudo ocorra bem

echo ' Produto recomendado com sucesso!<br>Obrigado <b>'.$nomeqrecomendou.'</b> por nos visitar.';}

Está td ok, mas só funciona se quem reconmeda mandar pra um e-mails do "@hotmail.com" se for outro, o e-mail não chega.

 

Alguém sabe o motivo? ou se tem outra forma de mandar emails.

 

Agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique se não está indo para a caixa de spam.

Use um \r tb na quebra do 4° parâmetro.

$html = "Content-Type: text/html; charset=iso-8859-1 \r\n";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alterei esse trecho, e funcionou perfeitamente:

$msgmail .= "Mensagem: $msgbd<br>";

	$headers = "MIME-Version: 1.0\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
	$headers .= "From: site@dominio.com.br \r\n";
	
// A função mail em php manda as dados por e-mail de destino
mail($destino, $assunto, $msgmail, $headers);
Mesma coisa que fiz aqui:

http://forum.imasters.com.br/index.php?showtopic=347408

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria bom testar esse seu script em outro server, porque o problema pode ser o servidor SMTP do seu servidor web ou o IP dele . . . geralmente essas caixas de correio rejeitam emails com IP dinâmico ou de servidores desconhecidos e tal.

 

Axo que se seu script esta mandando email o problema já não é PHP, é o servidor.

 

E separe os headers com \r\n e não só com \n porque já tive problemas com isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E separe os headers com \r\n e não só com \n porque já tive problemas com isso.

Isso depende da plataforma da hospedagem. "\n" para sistemas Unix Like, "\r\n" para Windows.

Compartilhar este post


Link para o post
Compartilhar em outros sites

no caso da locaweb, você precisa informar um email do dominio que você está usando

Exemplo

 

Dominio www.cocacola.com.br

 

no campo "From: $nomeqrecomendou"

mude para "From: eu@cocacola.com.br"

 

Eles fazem um tipo de validação..

quem sabe isso pode ser aplicado em outros servidores tb....

vale a pena testar, vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caros amigos eu fiz o teste e deu certos pros emails do: hotmail.com, yahoo.com.br e gmail.com

Só não está dando certos pros emails que criei do meu domínio através do Apps da google, vcs sabem se eu tenho que fazer alguma configuração?

Pois os emails do meus domínio eu uso normal, mando e recebos emails, só nessa forma de envio (formulário) não dar certo, se alguém puder me ajudar eu agradeço.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique as configurações dos emails do teu domínio.

Veja no painel como ele está tratando as 'mensagens de spam'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja verifique, está tudo ok, inclusive eu mandei uma msg pelo site do g1.com.br pro meu e-mail (recomendar página) e deu certo, então tem algo faltando no código, mas repito, pro @htomail.com e pro @gmail.com dar tudo certo.

 

Abraços a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.