• 0
Sign in to follow this  
Guilherme014

A Função Mail

Question

Estava mudando esta função, só que não aparece o erro, e não dá a mensagem no final, alguém saberia o porque.....

antes funcionava, só que mudei algumas coisas, para melhorar, e não sei o que fiz de errado. laugh.gif

<?

if($acao=='m') {

/* Destinatário */

$to  = "[email protected]";

/* assunto */

$subject = "E-Mail enviado de Clientes que visitaram a página na Inter net !!!";

/* mensagem */

$message = '

  <html>

  <head>

  <title>Eu sou: $nome !!!</title>

  </head>

  <body>

  <table width="100%" border="0" cellspacing="0" cellpadding="0" class="txt1">

  <tr>

    <th>Menu Nome é: <strong>$nome</strong>,</th>

  </tr>

  <tr>

    <td>Sou de <strong>$cidade</strong> do Estado de <strong>$estado</strong>.</td>

  </tr>

  </table>

  <table width="100%" border="0" cellspacing="0" cellpadding="0" class="txt1">

  <tr>

    <td width="50%">O que quero saber é o seguinte:</td>

    <td width="50%"><strong>$desejo</strong></td>

  </tr>

  </table>

  </body>

  </html>';

/* Atenção se você pretende inserir numa variável uma mensagem html mais

complexa do que essa sem precisar escapar os carateres

necessários pode ser feito o uso da sintaxe heredoc, consulte tipos-string-sintaxe-heredoc */

/* Para enviar email HTML, você precisa definir o header Content-type. */

$headers  = "MIME-Version: 1.0\r\n";

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

/* headers adicionais */

$headers .= "To: Mary <[email protected]>, Kelly <[email protected]>\r\n";

$headers .= "From: Birthday Reminder <[email protected]>\r\n";

$headers .= "Cc: [email protected]\r\n";

$headers .= "Bcc: [email protected]\r\n";

/* Enviar o email */

mail($to, $subject, $message, $headers);

echo"<script language=javascript>alert('A sua mensagem foi enviada com sucesso !!!')</script>";

echo"<script language=javascript>location.href=''</script>";

}

?>

Share this post


Link to post
Share on other sites

15 answers to this question

Recommended Posts

  • 0
oi, depois q você executa o script e ele não manda a mensagem, clica com o direito e olha o fonte, pode ser q tenha alguma coisa q tá "engolindo" td

com certeza, porque o codigo so mostras as tags de

<html><head><title><body>, mas o body ficando vazio...

Share this post


Link to post
Share on other sites
  • 0

tente colocar a "\" quando tiver aspas

<?

if($acao=='m') {

/* Destinatário */

$to  = "[email protected]";

/* assunto */

$subject = "E-Mail enviado de Clientes que visitaram a página na Inter net !!!";

/* mensagem */

$message = '

  <html>

  <head>

  <title>Eu sou: $nome !!!</title>

  </head>

  <body>

  <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class="txt1">

  <tr>

    <th>Menu Nome é: <strong>$nome</strong>,</th>

  </tr>

  <tr>

    <td>Sou de <strong>$cidade</strong> do Estado de <strong>$estado</strong>.</td>

  </tr>

  </table>

  <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class="txt1">

  <tr>

    <td width=\"50%\">O que quero saber é o seguinte:</td>

    <td width=\"50%\"><strong>$desejo</strong></td>

  </tr>

  </table>

  </body>

  </html>';

/* Atenção se você pretende inserir numa variável uma mensagem html mais

complexa do que essa sem precisar escapar os carateres

necessários pode ser feito o uso da sintaxe heredoc, consulte tipos-string-sintaxe-heredoc */

/* Para enviar email HTML, você precisa definir o header Content-type. */

$headers  = "MIME-Version: 1.0\r\n";

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

/* headers adicionais */

$headers .= "To: Mary <[email protected]>, Kelly <[email protected]>\r\n";

$headers .= "From: Birthday Reminder <[email protected]>\r\n";

$headers .= "Cc: [email protected]le.com\r\n";

$headers .= "Bcc: [email protected]\r\n";

/* Enviar o email */

mail($to, $subject, $message, $headers);

echo"<script language=javascript>alert('A sua mensagem foi enviada com sucesso !!!')</script>";

echo"<script language=javascript>location.href=''</script>";

}

?>

Share this post


Link to post
Share on other sites
  • 0

faz o seguinte, vamo debuga, colca um if na função mail, ve se ela funciona mesmo e ecoa as variáveis... só pr alembrar, as tuas variaveis não vão assumir valor algum, porque tu estás definido com aspas simples, dae vida string wink.gif

Aspas simples:

$mensagem='$var'; //mostra $var

Aspas duplas:

$mensagem="$var"; //mostra o valor de $var, o mesmo serve para "sem aspas".

Share this post


Link to post
Share on other sites
  • 0

olhem só a pagina de teste:

http://www.motorfortebh.com.br/fale_conosco/fale_conosco.php

fiz algumas alterações mas ficou a mesma coisa

<?

if($acao=="m") {

/* Destinatário */

$to  = "[email protected]";

/* assunto */

$subject = "E-Mail enviado de Clientes que visitaram a página na Inter net !!!";

/* mensagem */

$message = "

  <html>

  <head>

  <title>Eu sou: $nome !!!</title>

  </head>

  <body>

  <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class='txt1'>

  <tr>

    <th>Menu Nome é: <strong>$nome</strong>,</th>

  </tr>

  <tr>

    <td>Sou de <strong>$cidade</strong> do Estado de <strong>$estado</strong>.</td>

  </tr>

  </table>

  <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class='txt1'>

  <tr>

    <td width=\"50%\">O que quero saber é o seguinte:</td>

    <td width=\"50%\"><strong>$desejo</strong></td>

  </tr>

  </table>

  </body>

  </html>';

/* Atenção se você pretende inserir numa variável uma mensagem html mais

complexa do que essa sem precisar escapar os carateres

necessários pode ser feito o uso da sintaxe heredoc, consulte tipos-string-sintaxe-heredoc */

/* Para enviar email HTML, você precisa definir o header Content-type. */

$headers  = 'MIME-Version: 1.0\r\n';

$headers .= 'Content-type: text/html; charset=iso-8859-1\r\n';

/* headers adicionais */

$headers .= 'To: Mary <[email protected]>, Kelly <[email protected]>\r\n';

$headers .= 'From: Birthday Reminder <[email protected]>\r\n';

$headers .= 'Cc: [email protected]\r\n';

$headers .= 'Bcc: [email protected]\r\n';

/* Enviar o email */

mail($to, $subject, $message, $headers)";

echo"<script language=javascript>alert('A sua mensagem foi enviada com sucesso !!!')</script>";

echo"<script language=javascript>location.href=''</script>";

}

?>

Share this post


Link to post
Share on other sites
  • 0
faz o seguinte, vamo debuga, colca um if na função mail, ve se ela funciona mesmo e ecoa as variáveis... só pr alembrar, as tuas variaveis não vão assumir valor algum, porque tu estás definido com aspas simples, dae vida string wink.gif

Aspas simples:

$mensagem='$var'; //mostra $var

Aspas duplas:

$mensagem="$var"; //mostra o valor de $var, o mesmo serve para "sem aspas".

engano seu..a aspas ' tb serve..

ele pegou esse exemplo do php.net

http://br2.php.net/manual/pt_BR/function.mail.php

cara,tenta testar em outro server....tá estranho

Share this post


Link to post
Share on other sites
  • 0

CARA COMOQ TU PODE FALA ISSO??? Como q tu vai ecoar o valor da variável com aspas simples??? Descupa se estou sendo ignorante, mas a internet toda, osmeus servidores, livros, etc, n podem estar errados...

esse aqui é o exemplo do php.net

<?php

/* Destinatário */

$to  = "[email protected]" . ", " ; // Observe a vírgula

$to .= "[email protected]";

/* assunto */

$subject = "Birthday Reminders for August";

/* mensagem */

$message = '

<html>

<head>

<title>Birthday Reminders for August</title>

</head>

<body>

<p>Here are the birthdays upcoming in August!</p>

<table>

<tr>

  <th>Person</th><th>Day</th><th>Month</th><th>Year</th>

</tr>

<tr>

  <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>

</tr>

<tr>

  <td>Sally</td><td>17th</td><td>August</td><td>1973</td>

</tr>

</table>

</body>

</html>

';

/* Atenção se você pretende inserir numa variável uma mensagem html mais

complexa do que essa sem precisar escapar os carateres

necessários pode ser feito o uso da sintaxe heredoc, consulte tipos-string-sintaxe-heredoc */

/* Para enviar email HTML, você precisa definir o header Content-type. */

$headers  = "MIME-Version: 1.0\r\n";

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

/* headers adicionais */

$headers .= "To: Mary <[email protected]>, Kelly <[email protected]>\r\n";

$headers .= "From: Birthday Reminder <[email protected]>\r\n";

$headers .= "Cc: [email protected]\r\n";

$headers .= "Bcc: [email protected]\r\n";

/* Enviar o email */

mail($to, $subject, $message, $headers);

?>

Me a ponta as variáveis q ophp.net ecoou os valores dentro das aspas simples q eu n consigo enxergar...

ps.: manual do php, no exemplo da função echo

// Using single quotes will print the variable name, not the value

echo 'foo is $foo'; // foo is $foo

http://br.php.net/manual/pt_BR/function.echo.php

Esse mundo tá perdido...

vamos a dúvida...

Cara, geralmente, porecisamos setar o nosso smtp no php.ini, para isso utilize a função ini_set http://br2.php.net/manual/pt_BR/function.ini-set.php oprimeiro parâmetro é o q tu quer setar e po segundo o valor, noseu caso resultaria nisso:

ini_set("SMTP", "teuserver.com.br"); //isso seta em tempode execução de script

E tu ecoou as variáveis que nem eu te falei quando postei como guest?? Apareceu td certinho???

testa ae e msotra as respostas por favor .. smile.gif

Share this post


Link to post
Share on other sites
  • 0

não tem diferença nesse seu caso....

só tem diferença se tivesse variável dentro da sua $message, mas como não tem...

ps: dei mancada na ', se for pra mostrar na tela e tiver $var dentro dá diferença sim, mas se tiver só texto( seu caso ) não tem problema.Assumo sem problemas isso...

Share this post


Link to post
Share on other sites
  • 0

é o seguinte meu velho, ali no exemplo do php.net, ele não usou nenhuma variável em aspas simples, porque:

Executa esse código que fica mais fácil de entender:

$var='teste';   //a variável var contém a string teste
$foo='mais';  //a variável foo contém a string mais

echo 'FOO contém '.$foo;
echo 'VAR contém '."$var";    //variável sem aspas ou com aspas DUPLAS
echo 'VAR e FOO contém $var e $foo';  //dentro de aspas simpels só string

//retorno do código 
//FOO contém mais
//VAR contem teste
//VAR e FOO contém $var e $foo
O mesmo serve pra quando tu estás associando a uma variável, qu eé como tu estás fazendo, se tu colocar uma variável dentro de aspas simples o php interpreta comostring, e enton ele te mostra o nome da var, com $ e td heheh mas o conteúdo não.
$fruta='maçã';
$foo='FOO contém '.$fruta;
$foo='FOO contém '."$fruta";    //variável sem aspas ou com aspas DUPLAS

$var='VAR e FOO contém $var e $foo';  //dentro de aspas simpels só string

echo "$foo\n";
echo "$var";


//retorno do código 
//FOO contém maçã
//VAR e FOO contém $var e $foo

EDITANDO

qualquer é isso em vermelho ae no teu código??? Variaveis??? hehhe

Não é esse teu problema, mas eu só quis dizer q n retornaria os valores das veriáveis. Tu entendeu isso??? Se entendeu tá tranquilo.

Agora quanto ao teu problema, tenta tirar as headers e mandar só texto normal, sem html, vamos ver se ele está enviando dae wink.gif

/* mensagem */

$message = '

  <html>

  <head>

  <title>Eu sou: $nome !!!</title>

  </head>

  <body>

  <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class="txt1">

  <tr>

    <th>Menu Nome é: <strong>$nome</strong>,</th>

  </tr>

  <tr>

    <td>Sou de <strong>$cidade</strong> do Estado de <strong>$estado</strong>.</td>

  </tr>

  </table>

  <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class="txt1">

  <tr>

    <td width=\"50%\">O que quero saber é o seguinte:</td>

    <td width=\"50%\"><strong>$desejo</strong></td>

  </tr>

  </table>

  </body>

  </html>';

Edited by lemissel

Share this post


Link to post
Share on other sites
  • 0

Valeu......

Chegou assim:

  <html>

  <head>

  <title>Eu sou: hdjkfhdalf !!!</title>

  </head>

  <body>

  <table width="100%" border="0" cellspacing="0" cellpadding="0" class='txt1'>

  <tr>

    <th>Menu Nome é: <strong>hdjkfhdalf</strong>,</th>

  </tr>

  <tr>

    <td>Sou de <strong>sdhfçdashfç</strong> do Estado de <strong></strong>.</td>

  </tr>

  </table>

  <table width="100%" border="0" cellspacing="0" cellpadding="0" class='txt1'>

  <tr>

    <td width="50%">O que quero saber é o seguinte:</td>

    <td width="50%"><strong>adjfçdkjf sdçfj dsçofjhsd fsd

f sd

fsd

fsd

fs

f

sdf</strong></td>

  </tr>

  </table>

  </body>

  </html>

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