Ir para conteúdo

Arquivado

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

nakid.mkt

e-mail com "maill()" e texto em HTKL não vai

Recommended Posts

Oi Pessoal, tudo bem?Pesquisei o fórum inteiro mas não achei nada que resolvesse meu problema.segue código:

<?php$email_para = "marcos.mkt@itabom.com.br";$email_assunto = "Olá, sou uma nova mensagem!";$email_conteudo = "<html><body>Oi! Eu sou um <b>e-mail</b> em formato HTML!</body></html>";$email_de = "remetente@mail.com";//Cabecalhos: aqui está o problema;$headers = "MIME-Version: 1.0\r\n";$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";$headers .= "From: \"$nome\" <$email_de>\r\n";if (mail($email_para, $email_assunto, $email_conteudo, $headers)) {	echo "E-mail enviado com sucesso!!!";}else {	echo "Ocorreu um erro durante o envio do e-mail.";}?>

Problema...se eu mando com esse "headers", a mensagem "E-mail enviado com sucesso!!!" aparece mas eu não recebo o email. Se eu tiro a parte:$headers = "MIME-Version: 1.0\r\n";$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";e mando só o:$headers = "From: \"$nome\" <$email_de>\r\n"; o email chega mas ao invés de aparecer o HTML interpretado, aparece o código-fonte inteiro.alguém já passou por isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

espero que ajude

 

 

class Email{	var $_to;	var $_subject;	var $_variables;	var $_headers;	var $_names;	var $_message;	function Email($to,$subject,$variables,$names)	{		$this->_to = $to;		$this->_subject = $subject;		$this->_variables = $variables;		$this->_names = $names;		$this->_headers  = "MIME-Version: 1.0\r\n";		$this->_headers .= "Content-type: text/html; charset=iso-8859-1\r\n";		$this->_headers .= "From: EMAIL CONTATO <".$to.">\r\n";		$this->createMessage();	}	function createMessage()	{		$this->_message = '			<html>			<head>			 <title>.:: EMAIL DE CONTATO ::.</title>			</head>			<body>			 <table>';				for($i=0,$len=sizeof($this->_variables); $i<$len;$i++)		{			$this->_message .= '			 <tr>			  <td><b>'.$this->_names[$i].'</b> '.$this->_variables[$i].'</td>			 </tr>			';		};				$this->_message .= '			</table>			</body>			</html>	';	}	function sendEmail()	{		if($this->_to != '' && $this->_variables != ''){			mail($this->_to, $this->_subject, $this->_message, $this->_headers);			echo 'Email send';		}else{			echo 'Error send to email';		}	}};	$mail = new Email('nome@xxx.com','Assunto',array($nome,$sobrenome),array('Fabio','Morikawa'));	$mail->sendEmail();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda, Fábio,Mas o problema persiste;Aparece 'Email send" mas nada de chegar na minha caixa de entradas.Se eu tido as duas primeiras linhas do headers:$this->_headers = "MIME-Version: 1.0\r\n";$this->_headers .= "Content-type: text/html; charset=iso-8859-1\r\n";o email chega mas com todo código HTLM na minha tela.Estou usando outlook pra ver as mensagens. Não sei se é problema do outlook.Não é possível que uma coisa tão simples não funcione.Mas de qualquer forma, muito legal o seu código, Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nessa parte que você está colocando:

$headers .= "From: \"$nome\" <$email_de>\r\n";

A variável $nome está recebendo qual valor?Eu uso a função mail() com frequência, e nunca me deu problema algum... nessa parte, eu faço assim:
//Endereço do remetente:$headers .= "From: ".$_POST['nome_remetente']." <".$_POST['email_remetente'].">\n";
Mas os POSTs podem ser substituídos por outras variáveis, ou por valores fixos... vai depender do que você pretende fazer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

$nome recebe o nome da pessoa que enviou o email.Mas acho que descobri o problerma aqui. Não é no código. Provavelmente os emails vindos do meu código php não estão passando nofiltro anti-span da rede. Tentei mandar emails de outros sites (como aqueles "envie para um amigo") e esses emails também não chegaram pra mim.vou checar aqui.Obrigado por responderem.Nakid

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.