Jump to content


Photo

Envio De E-mails


  • Faça o login para participar
14 replies to this topic

#1 PHP-man

PHP-man

    12 Horas

  • Usuários
  • 257 posts
  • Sexo:Masculino

Posted 12/08/2005, 23:52

Ola gente, tenho um formulario para uma empresa que possui sede matriz e filiais em outras cidades.

Então fiz o seguinte no formulario existe um campo cidade eu queria que ao selecionar a cidade A enviasse um e-mail e ao selecionar cidade B enviasse para o outrto e-mail e assim por diante.

Usei um scriptizinho de envio de e-mails que li num livro. Segue abaixo

Formulario
<select class="campo_padrao" id="cidade">
<option selected><b>Selecione</b></option>
<option id="01" value="email1@dominios.com.br">E-MAIL 1</option>
<option id="02" value="email2@dominio.com.br"><b>E-MAIL 2</b></option>
</select>

Página de script
<?


$assunto = "teste";
$de = $_POST['email'];
$para = $_POST['txnome_amigo'];
$destino = $_POST['cidade'];
//$email = 'NOME EMPRESA';
$email_env = 'NOME EMPRESA';
//$email_reply = 'email@email.com.br';

$header = "From: $email_env\n";
//$header .= "Reply-to: $email_reply\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\n";
$header .= "X-Mailer: PHP4 Script Language\n";
$header .= "X-Accept-Language: en\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Transfer-Encoding: 7bit\n";

$msg = $_GET['mensagem'];


mail ($destino, $assunto, $msg, $header);

echo "<script>window.location='resposta.php'</script>";

?>

Grato,
PHP-man
Existe uma grande diferença entre a Sabedoria e a Inteligência. A Inteligência vem acompanhada de Arrogância e Irônias. A Sabedoria vem acompanhada de Humildade e Paciência. by PHP-man

#2 goiaba2000

goiaba2000

    Tô com sono!

  • Usuários
  • 1118 posts
  • Sexo:Não informado
  • Localidade:Sobradinho-DF

Posted 13/08/2005, 01:13

o php nao "pega" por id, sim por name.

troque
<select class="campo_padrao" id="cidade">
por
<select class="campo_padrao" id="cidade" name="cidade">
PHP + UML + OO + Flash + MySQL = IMBATIVEL

http://www.guilardi.com.br
- portifólio
http://www.deusehmais.com.br
- projeto atual

#3 PHP-man

PHP-man

    12 Horas

  • Usuários
  • 257 posts
  • Sexo:Masculino

Posted 13/08/2005, 10:53

Owww goiaba vlw cara mas fiz exatamente como vc me falou e de nada adiantou!

Coloco abaixo o codigo para verem, quem puder me dar mais alguma dica agradeço.

Página do formulario:
<tr>
<td width="322" bgcolor="#777777"><form name="form" method="post" action="envia.php">
<table width="312" border="0" cellpadding="3" cellspacing="0" class="texto_preto">
<tr>
<td valign="top" class="texto_branco">Selecione a Cidade:</td>
</tr>
<tr>
<td valign="top" class="texto_branco"><font size="2">
<select class="campo_padrao" name="cidade" id="cidade">
<option selected><b>Selecione</b></option>
<option id="01" value="email_1@dominio.com"><b>EMPRESA MATRIZ</b></option>
<option id="02" value="email_2@dominio.com"><b>EMPRESA FILIAL</b></option>
</select>
<strong> </strong></font></td>
</tr>

Script em PHP:
<?

//$cidade = $_POST['cidade'];

$assunto = "teste";
$de = $_POST['email'];
$para = $_POST['txnome_amigo'];
$destino = $_POST['cidade'];
//$email = 'EMPRESA';
$email_env = 'EMPRESA';
//$email_reply = 'email@dominio.com.br';

$header = "From: $email_env\n";
//$header .= "Reply-to: $email_reply\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\n";
$header .= "X-Mailer: PHP4 Script Language\n";
$header .= "X-Accept-Language: en\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Transfer-Encoding: 7bit\n";

$msg = $_POST['mensagem'];


mail ($destino, $assunto, $msg, $header);

echo "<script>window.location='contato_resposta.php'</script>";

?>

Para não pensarem que o erro esta no script, quando eu coloco uma STRING(com um e-mail) na variavel $destino o e-mail chega normalmente, portanto o script esta ok.

VLW

PHP-man
Existe uma grande diferença entre a Sabedoria e a Inteligência. A Inteligência vem acompanhada de Arrogância e Irônias. A Sabedoria vem acompanhada de Humildade e Paciência. by PHP-man

#4 henriquefr

henriquefr

    12 Horas

  • Usuários
  • 209 posts
  • Sexo:Não informado
  • Localidade:Cuiabá-MT
  • Interesses:PHP, Ajax e JavaScript.

Posted 13/08/2005, 20:47

eu naum entendi pq no SELECT vc coloco ID nas opçoes ...tenta tirar para testar ...

tenta em vez de usar um select .. usa um campo de texto .. e coloca o email q vc quer enviar ... soh para testar ....
<?php

?>

#5 MarcoviZ

MarcoviZ

    ubuntu for human being

  • Usuários
  • 1137 posts
  • Sexo:Não informado

Posted 13/08/2005, 21:01

cola :

<?PHP //vo comecar usar php kkk
echo"$campo1 , $campo2";
?>

pra testar se ta pegando os valores!
[]'s

#6 RCPS

RCPS

    Turista

  • Usuários
  • 46 posts
  • Sexo:Não informado

Posted 14/08/2005, 07:52

Tenho um script muito parecido e funfa belezinha
a unica diferença irrelevante entre eles está aqui:

<option id="01" value="email_1@dominio.com"><b>EMPRESA MATRIZ</b></option>

O meu está assim:

<option value="email_1@dominio.com"><b>EMPRESA MATRIZ</b></option>

Está sem o ID

##########################

Só acrescentando, se não for muitos campos no select , vc pode fazer assim

<option value="empresa_matriz"><b>EMPRESA MATRIZ</b></option>

E no seu PHP

if (cidade = "empresa_matriz"){
$email_env = "email1@dominio.com";
}


Edição feita por: RCPS, 14/08/2005, 07:57.

Não basta saber...Tem que ensinar
Obrigado a todos que me atiraram pedras
foi com elas que construi meu castelo

#7 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 14/08/2005, 08:20

eu naum entendi pq no SELECT vc coloco ID nas opçoes ...tenta tirar para testar ...

Pessoal, sejemos mais coerentes. O quê um coitado de um atributo id da marcação (X)HTML tem à ver com isso ? -_-

[]’s :DAté mais

#8 MarcoviZ

MarcoviZ

    ubuntu for human being

  • Usuários
  • 1137 posts
  • Sexo:Não informado

Posted 14/08/2005, 13:40

concordo! html nao interfira-ria nada no php nesse caso só se o name tiver errado! unica coisa q pode interfirir é isso!
[]'s

#9 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 14/08/2005, 13:43

concordo! html nao interfira-ria nada no php nesse caso só se o name tiver errado! unica coisa q pode interfirir é isso!

É... ou o form ter um action errado... ou o form enviar por um método que você não espera... ou você esquecer de colocar o form...

É... poucas coisas... ;)
Klaus Paiva
Conheça também: Taperás

#10 MarcoviZ

MarcoviZ

    ubuntu for human being

  • Usuários
  • 1137 posts
  • Sexo:Não informado

Posted 14/08/2005, 13:45

é tem muitas mais coisas! =) devia ter posto isso, "é uma das coisas" .mais bem lembrado!

Edição feita por: MarcoviZ, 14/08/2005, 13:45.

[]'s

#11 PHP-man

PHP-man

    12 Horas

  • Usuários
  • 257 posts
  • Sexo:Masculino

Posted 14/08/2005, 20:34

Etnão RCPS nada haver realmente tirei o ID só para desencargo de consciencia. Etnão galera ja utilizei methodo POST e GET e nada muda onde sera que estou errando?

Tem algum erro no coódigo?

Fim o teste para ver se imprimi na tela e nada.

Coloquei a pagina com form setando para enviar.PHP e no enviar.PHP coloquei:

<?
$destino = $_GET[cidade];
echo "$destino";
?>

<?
$destino = $_GET['cidade'];
echo "$destino";
?>

<?
$destino = $_GET["cidade"];
echo "$destino";
?>

UTILIZEI "POST" TBM vlw,

PHP-man
Existe uma grande diferença entre a Sabedoria e a Inteligência. A Inteligência vem acompanhada de Arrogância e Irônias. A Sabedoria vem acompanhada de Humildade e Paciência. by PHP-man

#12 **K@T@T@U**

**K@T@T@U**

    Quase lá

  • Usuários
  • 254 posts
  • Sexo:Não informado
  • Localidade:Nova Iguaçu - RJ
  • Interesses:Quase tudo

Posted 14/08/2005, 21:04

faz assim

Página do formulario:
<tr> 
<td width="322" bgcolor="#777777">
<form name="form" method="post" action="envia.php">
<table width="312" border="0" cellpadding="3" cellspacing="0" class="texto_preto">
<tr> 
<td valign="top" class="texto_branco">Selecione a Cidade:</td>
</tr>
<tr> 
<td valign="top" class="texto_branco"><font size="2"> 
<select class="campo_padrao" name="cidade" id="cidade">
<option selected name="para"><b>Selecione</b></option>
<option value="1"><b>EMPRESA MATRIZ</b></option>
<option value="2"><b>EMPRESA FILIAL</b></option>
</select>
<strong> </strong></font></td>
</tr>

Script em PHP:
<?
if($para==1)
{
$destino="email1";
}else{
$destino="email2";
}
//$cidade = $_POST['cidade'];

$assunto = "teste";
$de = $_POST['email'];
$para = $_POST['txnome_amigo'];
$destino = $_POST['cidade'];
//$email = 'EMPRESA';
$email_env = 'EMPRESA';
//$email_reply = 'email@dominio.com.br';

$header = "From: $email_env\n";
//$header .= "Reply-to: $email_reply\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\n";
$header .= "X-Mailer: PHP4 Script Language\n";
$header .= "X-Accept-Language: en\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Transfer-Encoding: 7bit\n";

$msg = $_POST['mensagem'];


mail ($destino, $assunto, $msg, $header);

echo "<script>window.location='contato_resposta.php'</script>";

?>

obs, ñ testei pode ser q ñ pegue

#13 PHP-man

PHP-man

    12 Horas

  • Usuários
  • 257 posts
  • Sexo:Masculino

Posted 14/08/2005, 22:12

Oww **K@T@T@U** vlw mas do jeito que vc colocou nao tem como funcionar mesmo.

Coloquei assim, ai vai somente para o email2, o que confirma que o problema esta na passagem do valor do SELECT e que o script esta OK.

Pagina em de formulario
<tr>
<td width="322" bgcolor="#777777"><form name="form1" method="POST" action="envia.php">
<table width="312" border="0" cellpadding="3" cellspacing="0" class="texto_preto">
<tr>
<td valign="top" class="texto_branco">Selecione a Cidade:</td>
</tr>
<tr>
<td valign="top" class="texto_branco"><font size="2">
<select class="campo_padrao" name="cidade">
<option selected><b>Selecione</b></option>
<option value="1"><b>EMPRESA MATRIZRio Preto</b></option>
<option value="2"><b>EMPREZA FILIAL</b></option>
</select>
<strong> </strong></font></td>
</tr>




Script em PHP
<?

//$cidade = $_POST['cidade'];
$cidade = $_POST['cidade'];

if ($cidade == 1) {
$destino = "email1@dominio.com.br";
} else {
$destino = "email2@dominio.com.br";
}

$assunto = "teste";
$de = $_POST['email'];
$para = $_POST['txnome_amigo'];

//$destino = $cidade;
//$email = 'EMPRESA';
$email_env = 'EMPRESA';
//$email_reply = 'email@dominio.com.br';

$header = "From: $email_env\n";
//$header .= "Reply-to: $email_reply\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\n";
$header .= "X-Mailer: PHP4 Script Language\n";
$header .= "X-Accept-Language: en\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Transfer-Encoding: 7bit\n";

$msg = $_POST['mensagem'];


mail ($destino, $assunto, $msg, $header);

echo "<script>window.location='contato_resposta.php'</script>";



To vendo que o problema ta sendo que ele nao esta pegando o valor da SELECT.

Meu pai que dificuldade pra enviar um e-mail, vou tentar achar outro script, mas se alguem saber algo fala ai por favor, pq este xcript esta ok, o problema esta sendo para passar o valor da SELECT.

Vlw

PHP-man

Edição feita por: PHP-man, 14/08/2005, 22:17.

Existe uma grande diferença entre a Sabedoria e a Inteligência. A Inteligência vem acompanhada de Arrogância e Irônias. A Sabedoria vem acompanhada de Humildade e Paciência. by PHP-man

#14 **K@T@T@U**

**K@T@T@U**

    Quase lá

  • Usuários
  • 254 posts
  • Sexo:Não informado
  • Localidade:Nova Iguaçu - RJ
  • Interesses:Quase tudo

Posted 15/08/2005, 01:47

afff nem acredito q eu fiz isso, fui editar seu script e fiz besteira.
faz assim
//inicio do seu script
<form method="post" action="envia.php">
Selecione a Cidade:
<select  name="para">
<option selected><b>Selecione</b></option>
<option value="1"><b>EMPRESA MATRIZ</b></option>
<option value="2"><b>EMPRESA FILIAL</b></option>
</select>
</form>
//continue o script

pagina envia.php

<?
if($para==1)
{
$destino="matiz@dominio.com";
}else{
$destino="filial@dominio.com";
}
//coloque o resto do script aki
mail ($destino, $assunto, $msg, $header);

?>
obs, ñ testei. Motivo, ñ tou em meu pc por isso, tou sem o apache.
mais se vc ñ mudar o nome do select, nem das variaveis ele vai pegar

Edição feita por: **K@T@T@U**, 15/08/2005, 01:48.


#15 PHP-man

PHP-man

    12 Horas

  • Usuários
  • 257 posts
  • Sexo:Masculino

Posted 15/08/2005, 22:28

**K@T@T@U** que vergonha que eu estou cara... VLW mesmo observei depois desse seu ultimo POST que o nome do campo SELECT estava igual o do campo TEXT "cidade" ou seja duas variaveis.

Esse era o erro. Nem acredito que gerei um POST desse tamanho e que perdi tudo esses dias, mas valeu apena pelo, menos agora fico mais ligeiro em relação a nomes IGUAIS.

Cara VLW mesmo.

T+

Edição feita por: PHP-man, 15/08/2005, 22:29.

Existe uma grande diferença entre a Sabedoria e a Inteligência. A Inteligência vem acompanhada de Arrogância e Irônias. A Sabedoria vem acompanhada de Humildade e Paciência. by PHP-man




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq