• 0
Sign in to follow this  
rbz

Erro Ao Enviar E-mail , Como Faço Para Arrumar!

Question

não consigo enviar o email porque o email não reconhece a variavel de destino, mas se eu colocar o destino direto no codigo fonte ele reconhece e se entrar por uma pagina em html ele não reconhece porque?

codigo fonte:

<?

$conexao = mysql_pconnect("localhost","","");

$bd = mysql_db_query("bd",$conexao);

$result= ("INSERT INTO temail (email) values ('$email_d')");

$cad = mysql_query($result);

$result2 = mysql_db_query("comid","select email from temail");

while ($coluna = mysql_fetch_array($result2))

{

print "$coluna[0]<BR>";

$emaild="$coluna[0]"; // aqui ele pega o destino mas não envia o email

}

$remet=$remetente;

$emailr=$email_remetente;

$dest=$destinatario;

$mensag=$mensagem;

$assunt=$assunto;

//$emaild="[email protected]";// assim ele envia o email

$mensagem = @mail($emaild,$assunt,$mensag,$remet);

if ($mensagem)

{

print "Mensagem enviada!";

}

else

{

print "O envio da mensagem falhou!";

}

?>

porque ele esta fazendo isto?

como eu arrumo!

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Porque você tem que chamar as variáveis passadas por um form com um $_POST[variavel] (ou $_GET[variavel], dependendo do método do seu form) ao invés de $variavel...

Mudando para $_POST, deve funcionar... :)

Share this post


Link to post
Share on other sites
  • 0

ué ???

a linha que esta a variavel $emaild está como comentario ??

tente tirar as suas // no começo da linha e troque

$mensagem = @mail($emaild,$assunt,$mensag,$remet);

por

$mensagem = @mail("$emaild","$assunt","$mensag","$remet");

se não der certo avisa ai

Share this post


Link to post
Share on other sites
  • 0

A Amigo desculpa agora li melhor seu codigo.....

e percebi que voce esta usando a funsao errada para pegar os dados do banco voce esta usando a mysql_fetch_array troque por mysql_fetch_row

tente assim:

<?

$conexao = mysql_pconnect("localhost","","");

$bd = mysql_db_query("bd",$conexao);

$result= ("INSERT INTO temail (email) values ('$email_d')");

$cad = mysql_query($result);

$result2 = mysql_db_query("comid","select email from temail");

while ($coluna = mysql_fetch_row($result2))

{

print "$coluna[0]<BR>";

$emaild=$coluna[0]";

// aqui ele pega o destino mas não envia o email

$remet=$remetente;

$emailr=$email_remetente;

$dest=$destinatario;

$mensag=$mensagem;

$assunt=$assunto;

$mensagem = @mail("$emaild","$assunt","$mensag","$remet");

}

if ($mensagem)

{

print "Mensagem enviada!";

}

else

{

print "O envio da mensagem falhou!";

}

?>

obs: coloquei a varialvel $mensagem dentro do while ok assim vai funcionar se voce quiser usar o mysql_fetch_array tem que trocar a variavel

$emaild="$coluna[0]";

por

$emaild= $coluna['nome_da_tabela_dos_e-mails];

Share this post


Link to post
Share on other sites
  • 0

Ali no caso do remetente, você quer pegar um valor vindo de um formulário, certo?

Então você colocaria:

$remet = $_POST[remetente];

Ao invés de:

$remet = $remetente;

E a mesma coisa com qualquer outra variável que você for puxar do form enviado... Outra coisa...você não precisa passar o valor praquela variável $remet...ela não serve pra nada...é exatamente igual ao $_POST[remetente]...então é melhor chamar sempre pelo $_POST[remetente] ao invés de criar aquela variável...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this