Ir para conteúdo
Fórum Script Brasil
  • 0

Formulário com escolha do destinatário


LuckFarias

Pergunta

beleza galera! Sou leigo em PHP e estou tentando aprender com o material aqui do fórum. Consegui este código para envio de um formulário que está funcionando perfeitamente. A questão é que eu preciso colocar a opção de escolha do destinatário.

Estou quebrando a cuca, mas acho que a coisa é simples pra quem é do ramo. Se alguém puder ajudar serei muito grato.

Tenho esse código:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>formulario+ anexo</title>

<style type="text/css">

<!--

.style2 {

font-family: Arial, Helvetica, sans-serif;

font-size: x-small;

}

.style3 {font-size: xx-small}

-->

</style>

</head>

<body>

<form name="form1" method="post" enctype="multipart/form-data" action="<?= $_SERVER['PHP_SELF'];?>?act=enviar">

<p class=style2" style="word-spacing: 0; margin: 0">Nome</p>

<p class="style2" style="word-spacing: 0; margin: 0">

<input type="text" name="nome">

</p>

<p class="style2" style="word-spacing: 0; margin: 0">E-Mail</p>

<p class="style2" style="word-spacing: 0; margin: 0">

<input name="de" type="text" id="de">

</p>

<p class="style2" style="word-spacing: 0; margin: 0">Assunto</p>

<p class="style2" style="word-spacing: 0; margin: 0">

<input type="text" name="assunto">

</p>

<p class="style2" style="word-spacing: 0; margin: 0">Anexo</p>

<p class="style2" style="word-spacing: 0; margin: 0">

<input type="file" name="anexo">

O arquivo dever&aacute; ter no m&aacute;ximo 3Mb. </p>

<p class="style2" style="word-spacing: 0; margin: 0">Mensagem</p>

<p class="style2" style="word-spacing: 0; margin: 0">

<textarea name="msg" cols="50" rows="10"></textarea>

</p>

<p class="style2" style="word-spacing: 0; margin: 0"></p>

<input type="hidden" value="e-mail@dominio.com.br" name="email">

<p class="style2" style="word-spacing: 0; margin: 0">

<input type="submit" name="Submit" value="Enviar">

<input name="reset" type="reset" id="reset" value="Limpar">

</p>

</form>

<?

if ($act == "enviar"){

$mime_list = array( "html"=>"text/html",

"htm"=>"text/html",

"txt"=>"text/plain",

"rtf"=>"text/enriched",

"csv"=>"text/tab-separated-values",

"css"=>"text/css",

"gif"=>"image/gif",

"doc"=>"application/msword",

"jpeg"=>"image/jpeg",

"jpg"=>"image/jpeg",

"jpe"=>"image/jpeg",

"exe"=>"application/octet-stream",

"mid"=>"audio/midi",

"midi"=>"audio/midi",

"mov"=>"video/quicktime",

"movie"=>"video/x-sgi-movie",

"mp3"=>"audio/mpeg",

"mpeg"=>"video/mpeg",

"mpg"=>"video/mpeg",

"mpga"=>"video/mpeg",

"png"=>"image/png",

"pps"=>"application/mspowerpoint",

"ppt"=>"application/mspowerpoint",

"ppz"=>"application/mspowerpoint",

"qt"=>"video/quicktime",

"ra"=>"audio/x-realaudio",

"rgb"=>"image/x-rgb",

"tif"=>"image/tiff",

"tiff"=>"image/tiff",

"wav"=>"audio/x-wav",

"swf"=>"application/x-shockwave-flash",

"zip"=>"application/zip",

);

$ABORT = FALSE;

$boundary = "XYZ-" . date(dmyhms) . "-ZYX";

$message = "--$boundary\n";

$message .= "Content-Transfer-Encoding: 8bits\n";

$message .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n";

$message .= "Enviado em ". date("d/m/Y"). "<P>Confira os dados:<P>

Nome: " .$_POST['nome]. "<BR>

Email: " .$_POST['de']. "<BR>

Mensagem:<BR>"

.nl2br($_POST['msg']). "<P>";

$message .= "\n";

$attachments[1] = $anexo;

foreach ($attachments as $key => $full_path) {

if ($full_path !=') {

if (file_exists($full_path)){

if ($fp = fopen($full_path,"rb")) {

if ((filesize($full_path)/1024) > "3000"){

echo "O arquivo que você tentou anexar, possui mais que 3MB. Por favor, tente um arquivo menor.";

exit;

}

$filename = array_pop(explode(chr(92),$full_path));

$contents = fread($fp,filesize($full_path));

$encoded = base64_encode($contents);

$encoded_split = chunk_split($encoded);

fclose($fp);

$message .= "--$boundary\n";

$message .= "Content-Type: $anexo_type\n";

$message .= "Content-Disposition: attachment; filename=\"$anexo_name\" \n";

$message .= "Content-Transfer-Encoding: base64\n\n";

$message .= "$encoded_split\n";

}

else {

echo "Impossível abrir o arquivo$key: $filename";

$ABORT = TRUE;

}

}

else {

echo "O arquivo$key não existe: $filename";

$ABORT = TRUE;

}

}

}

$message .= "--$boundary--\r\n";

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

$headers .= "From: <".$_POST['de].">\r\n";

$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\" charset=iso-8859-1\r\n";

$mensagem = mail($_POST['email'], $assunto, $message, $headers);

if ($mensagem) {

print "Mensagem enviada com sucesso!";

} else {

print "O envio da mensagem falhou!";

}

}

?>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Deixei marcado e comentado aonde fiz as alterações, basta colocar os emails desejados!

Se não funcionar, posta ai! E se funcionar poste também!

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>formulario+ anexo</title>
<style type="text/css">
<!--
.style2 {
font-family: Arial, Helvetica, sans-serif;
font-size: x-small;
}
.style3 {font-size: xx-small}
-->
</style>
</head>

<body>
<form name="form1" method="post" enctype="multipart/form-data" action="<?= $_SERVER['PHP_SELF'];?>?act=enviar">
<p class="style2" style="word-spacing: 0; margin: 0">Nome</p>
<p class="style2" style="word-spacing: 0; margin: 0">
<input type="text" name="nome">
</p>
<p class="style2" style="word-spacing: 0; margin: 0">E-Mail</p>
<p class="style2" style="word-spacing: 0; margin: 0">
<input name="de" type="text" id="de">
</p>
<p class="style2" style="word-spacing: 0; margin: 0">Assunto</p>
<p class="style2" style="word-spacing: 0; margin: 0">
<input type="text" name="assunto">
</p>
<p class="style2" style="word-spacing: 0; margin: 0">Anexo</p>
<p class="style2" style="word-spacing: 0; margin: 0">
<input type="file" name="anexo"> 
O arquivo dever&aacute; ter no m&aacute;ximo 3Mb. </p>
<p class="style2" style="word-spacing: 0; margin: 0">Mensagem</p>
<p class="style2" style="word-spacing: 0; margin: 0">
<textarea name="msg" cols="50" rows="10"></textarea>
</p>
<p class="style2" style="word-spacing: 0; margin: 0"></p>
/*-------- Alteração começa aqui
Aqui mude aonde está email1, email2, email 3, pelos emails que deseja------ */ 

<select name="email">
 <option>Escolha um Destinatario</option>
 <option value="email1">email1</option>
 <option value="email2">email2</option> 
 <option value="email3">email3</option>
</select>

/*------------ alteração acaba aqui ----------------------- */
<p class="style2" style="word-spacing: 0; margin: 0">
<input type="submit" name="Submit" value="Enviar">
<input name="reset" type="reset" id="reset" value="Limpar">
</p>
</form>


<?
if ($act == "enviar"){
$mime_list = array( "html"=>"text/html",
"htm"=>"text/html",
"txt"=>"text/plain",
"rtf"=>"text/enriched",
"csv"=>"text/tab-separated-values",
"css"=>"text/css",
"gif"=>"image/gif",
"doc"=>"application/msword",
"jpeg"=>"image/jpeg",
"jpg"=>"image/jpeg",
"jpe"=>"image/jpeg",
"exe"=>"application/octet-stream",
"mid"=>"audio/midi",
"midi"=>"audio/midi",
"mov"=>"video/quicktime",
"movie"=>"video/x-sgi-movie",
"mp3"=>"audio/mpeg",
"mpeg"=>"video/mpeg",
"mpg"=>"video/mpeg",
"mpga"=>"video/mpeg",
"png"=>"image/png",
"pps"=>"application/mspowerpoint",
"ppt"=>"application/mspowerpoint",
"ppz"=>"application/mspowerpoint",
"qt"=>"video/quicktime",
"ra"=>"audio/x-realaudio",
"rgb"=>"image/x-rgb",
"tif"=>"image/tiff",
"tiff"=>"image/tiff",
"wav"=>"audio/x-wav",
"swf"=>"application/x-shockwave-flash",
"zip"=>"application/zip",
);


$ABORT = FALSE;

$boundary = "XYZ-" . date(dmyhms) . "-ZYX";

$message = "--$boundary\n";
$message .= "Content-Transfer-Encoding: 8bits\n";
$message .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n";
$message .= "Enviado em ". date("d/m/Y"). "<P>Confira os dados:<P>
Nome: " .$_POST['nome']. "<BR>
Email: " .$_POST['de']. "<BR>
Mensagem:<BR>"
.nl2br($_POST['msg']). "<P>";
$message .= "\n";

$attachments[1] = $anexo;

foreach ($attachments as $key => $full_path) {
if ($full_path !='') {
if (file_exists($full_path)){
if ($fp = fopen($full_path,"rb")) {
if ((filesize($full_path)/1024) > "3000"){
echo "O arquivo que você tentou anexar, possui mais que 3MB. Por favor, tente um arquivo menor.";
exit;
}
$filename = array_pop(explode(chr(92),$full_path));
$contents = fread($fp,filesize($full_path));
$encoded = base64_encode($contents);
$encoded_split = chunk_split($encoded);
fclose($fp);
$message .= "--$boundary\n";
$message .= "Content-Type: $anexo_type\n";
$message .= "Content-Disposition: attachment; filename=\"$anexo_name\" \n";
$message .= "Content-Transfer-Encoding: base64\n\n";
$message .= "$encoded_split\n";
}
else {
echo "Impossível abrir o arquivo$key: $filename";
$ABORT = TRUE;
}
}
else {
echo "O arquivo$key não existe: $filename";
$ABORT = TRUE;
}

}
}

$message .= "--$boundary--\r\n";


$headers = "MIME-Version: 1.0\r\n";
$headers .= "From: <".$_POST['de'].">\r\n";
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\" charset=iso-8859-1\r\n";
$mensagem = mail($_POST['email'], $assunto, $message, $headers);

if ($mensagem) {
print "Mensagem enviada com sucesso!";
} else {
print "O envio da mensagem falhou!";
}

}

?>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...