
Envio De E-mails
#1
Posted 12/08/2005, 23:52
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
#2
Posted 13/08/2005, 01:13
troque
<select class="campo_padrao" id="cidade">
por
<select class="campo_padrao" id="cidade" name="cidade">
http://www.guilardi.com.br
- portifólio
http://www.deusehmais.com.br
- projeto atual
#3
Posted 13/08/2005, 10:53
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
#4
Posted 13/08/2005, 20:47
tenta em vez de usar um select .. usa um campo de texto .. e coloca o email q vc quer enviar ... soh para testar ....
?>
#5
Posted 13/08/2005, 21:01
<?PHP //vo comecar usar php kkk
echo"$campo1 , $campo2";
?>
pra testar se ta pegando os valores!
#6
Posted 14/08/2005, 07:52
a unica diferença irrelevante entre eles está aqui:
O meu está assim:<option id="01" value="email_1@dominio.com"><b>EMPRESA MATRIZ</b></option>
Está sem o ID<option value="email_1@dominio.com"><b>EMPRESA MATRIZ</b></option>
##########################
Só acrescentando, se não for muitos campos no select , vc pode fazer assim
E no seu PHP<option value="empresa_matriz"><b>EMPRESA MATRIZ</b></option>
if (cidade = "empresa_matriz"){
$email_env = "email1@dominio.com";
}
Edição feita por: RCPS, 14/08/2005, 07:57.
Obrigado a todos que me atiraram pedras
foi com elas que construi meu castelo
#7
Posted 14/08/2005, 08:20
Pessoal, sejemos mais coerentes. O quê um coitado de um atributo id da marcação (X)HTML tem à ver com isso ?eu naum entendi pq no SELECT vc coloco ID nas opçoes ...tenta tirar para testar ...

[]s

#8
Posted 14/08/2005, 13:40
#9
Posted 14/08/2005, 13:43
É... 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...concordo! html nao interfira-ria nada no php nesse caso só se o name tiver errado! unica coisa q pode interfirir é isso!
É... poucas coisas...

#10
Posted 14/08/2005, 13:45

Edição feita por: MarcoviZ, 14/08/2005, 13:45.
#11
Posted 14/08/2005, 20:34
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
#12
Posted 14/08/2005, 21:04
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
Posted 14/08/2005, 22:12
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.
#14
Posted 15/08/2005, 01:47
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
Posted 15/08/2005, 22:28
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.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)