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

Mail php - Enviar anexos diferentes dependendo da opção escolhida


bissoo

Pergunta

Olá,

primeiramente gostaria de dizer que não entendo mt de php, mas estou fazendo um site para minha namorada e já consegui alguns avanços.

O que eu não consigo fazer funcionar é o seguinte:

quando alguém entra no orçamento do site ele tem varias opções para escolher, dependendo da opção que ele escolhe, ele recebe uma msg automatica diferente, o que eu gostaria de fazer é além de ter uma mensagem personalizada para cada opção que enviasse um anexo (JPG) diferente para cada opção.

Ou seja se a pessoa escolhe Opção 1, ele recebe a mensagem 1 com o anexo 1.jpg, se escolhe opção 2, recebe mensagem 2 com anexo 2.jpg.. e assim vai...

Como falei a parte da mensagem de texto eu já consegui fazer funcionar, falta mesmo o anexo diferente para cada opção.

Abaixo seguem os códigos.

já agradeço quem puder ajudar!! Obrigado!!

Aqui está o form da página HTML:

<form name="dados" method="post" action="orc.php" onsubmit="return enviardados();"><div align="center">
   <table width="200" border="0">
     <tr>
       <td class="lefttable"><span class="asdasd"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Nome:</font></span></td>
       <td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">

         <input type="text" name="nome" size="53" style="border-style: solid; font-face: verdana;font-size: 12;color: black;background-color: white;border-color: #357CCA;border-width: 1px;" />
       </font></td>
     </tr>
     <tr>
       <td class="lefttable"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">E-mail:</font></td>
       <td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
         <input type="text" name="email" size="53" style="border-style: solid; font-face: verdana;font-size: 12;color: black;background-color: white;border-color: #357CCA;border-width: 1px;" />
       </font></td>

     </tr>
     <tr>
       <td class="lefttable"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Data:</font></td>
       <td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
         <input type="text" name="data" size="19" style="border-style: solid; font-face: verdana;font-size: 12;color: black;background-color: white;border-color: #357CCA;border-width: 1px;" />
       </font></td>
     </tr>
     <tr>

       <td class="lefttable"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Serviço:</font></td>
       <td>

         <select name="opcoes" id="opcoes">
         <option  name="opcoes" value="ensaio">Ensaio Fotográfico</option>
         <option name="opcoes" value="festa15">Festa 15 Anos</option>
         <option name="opcoes" value="festa">Festa Aniversário</option>

         <option name="opcoes" value="evento">Evento</option>
         <option name="opcoes" value="sensual">Ensaio Sensual</option>
         <option name="opcoes" value="outros">Outro</option>


       </select></td>
     </tr>
     <tr>
       <td class="lefttable"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Mensagem:</font></td>

       <td rowspan="2"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
         <textarea name="contato" cols="50" rows="10" style="border-style: solid; font-face: verdana;font-size: 12;color: black;background-color: white;border-color: #357CCA;border-width: 1px;"></textarea>
       </font></td>
     </tr>
     <tr>
       <td> </td>
     </tr>
 </table>

 </div><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
   <input class="form_botao" type="submit" name="Enviar" value="Enviar Mensagem" style="border-style: solid; font-face: verdana;font-size: 12;color: black;background-color: white;border-color: #357CCA;border-width: 1px;">
 </font></div>
</form>
Aqui está o PHP:
<?php

// Aqui ficam os dados do seu e-mail e da autoresposta!!!

$assunto = "Orçamento"; //Assunto do e-mail q vai chegar na sua caixa de mensagem
$mail = "contato@c.com"; //E-mail que você gostaria de receber os resultados dos formmail's
$assunto_auto = "Orçamento";//Assunto da Auto Resposta
$website = "C";//Nome do Website
$url_website = "www.com";//Url do Website
$nome_webmaster = "A";//Nome do Webmaster do site

$resposta = $_POST["opcoes"];; //O que vem do formulário...

if($resposta == 'ensaio'){
        $mensagem_auto = "\nOlá $nome,\n\nConfira abaixo nossos preços de Ensaio Fotográfico!\n\n10pila\n\n$nome_webmaster \n $website";

}elseif($resposta == 'festa15'){
        $mensagem_auto = "\nOlá $nome,\n\nConfira abaixo nossos preços para Festa de 15 anos!\n\n10pila\n\n$nome_webmaster \n $website";
        
}elseif($resposta == 'festa'){
        $mensagem_auto = "\nOlá $nome,\n\nConfira abaixo nossos preços de Festas!\n\n10pila\n\n$nome_webmaster \n $website";
            
}elseif($resposta == 'evento'){
        $mensagem_auto = "\nOlá $nome,\n\nConfira abaixo nossos preços para Eventos!\n\n10pila\n\n$nome_webmaster \n $website";
            
}elseif($resposta == 'sensual'){
        $mensagem_auto = "\nOlá $nome,\n\nConfira abaixo nossos preços de Ensaio Sensual!\n\n10pila\n\n$nome_webmaster \n $website";
            
}elseif($resposta == 'outros'){
        $mensagem_auto = "\nOlá $nome,\n\nDentro de breve iremos analizar o seu pedido e retornaremos com o orçamento!\n\nMuito Obrigado\n\nAtenciosamente,\n$nome_webmaster \n$website";

}else{

}


header("Content-Type: text/html; charset=ISO-8859-1", true); 

// Aqui ficam os dados do formulário que serão enviados!!!

$nome = $_POST["nome"];//Campo Nome do Formulário
$email = $_POST["email"];//Campo E-mail do Formulário
$assunto_msg = $_POST["opcoes"];//Campo Mensagem do Formulário
$data = $_POST["data"];
$contato = $_POST["contato"];//Campo Contato do Formulário
$mensagem = "Formulário de Orçamento enviado por $nome - $website:\n\n";//Inicio da Mensagem enviada! 
$mensagem .= "Nome: $nome\n";//Nome do Contato
$mensagem .= "E-mail: $email\n";//Nome do Contato
$mensagem .= "Assunto: $assunto_msg\n";//Assunto do Contato
$mensagem .= "Data para o serviço: $data\n";
$mensagem .= "Mensagem:\n $contato";//Mensagem Enviada do Contato

//não modifique esta linha, pois é ela que envia a mensagem!!!
@mail($mail, $assunto, $mensagem, "From: $email");

//não modifique esta linha, pois é ela que envia a auto_resposta!!!
@mail($email, $assunto_auto, $mensagem_auto, "From: $mail");

header("Location:ok2.html");

?>

Editado por bissoo
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Opa,

então achei varios scrips prontos na internet mas nenhum deles do jeito q eu gostaria q é ter multipos anexos dependendo do tipo de resposta...

Eu tentei implementar algum desses códigos no código q postei acima, mas sem sucesso.

alguém poderia me ajudar a implementar esses códigos?

abaixo vou colocar um q eu recebo umonte de letras (q é a imagem sem ser reconhecida como imagem)

<?php
//define the receiver of the email
$to = 'youraddress@example.com';
//define the subject of the email
$subject = 'Test email with attachment';
//create a boundary string. It must be unique
//so we use the MD5 algorithm to generate a random hash
$random_hash = md5(date('r', time()));
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: webmaster@example.com\r\nReply-To: webmaster@example.com";
//add boundary string and mime type specification
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
//read the atachment file contents into a string,
//encode it with MIME base64,
//and split it into smaller chunks
$attachment = chunk_split(base64_encode(file_get_contents('attachment.zip')));
//define the body of the message.
ob_start(); //Turn on output buffering
?>
--PHP-mixed-<?php echo $random_hash; ?> 
Content-Type: multipart/alternative; boundary="PHP-alt-<?php echo $random_hash; ?>"

--PHP-alt-<?php echo $random_hash; ?> 
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hello World!!!
This is simple text email message.

--PHP-alt-<?php echo $random_hash; ?> 
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

<h2>Hello World!</h2>
<p>This is something with <b>HTML</b> formatting.</p>

--PHP-alt-<?php echo $random_hash; ?>--

--PHP-mixed-<?php echo $random_hash; ?> 
Content-Type: application/zip; name="attachment.zip" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment 

<?php echo $attachment; ?>
--PHP-mixed-<?php echo $random_hash; ?>--

<?php
//copy current buffer contents into $message variable and delete current output buffer
$message = ob_get_clean();
//send the email
$mail_sent = @mail( $to, $subject, $message, $headers );
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed"
echo $mail_sent ? "Mail sent" : "Mail failed";
?>
e achei esse tb:
<?php

$fromAddr = 'staff@example.com'; // the address to show in From field.
$recipientAddr = 'jane@example.org';
$subjectStr = 'Thank you';

$mailBodyText = <<<END89283
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>Thank You</title>
</head>
<body>
<p>
<b>Login:</b> {$_POST['login']}<br>
<b>Password:</b> {$_POST['password']}<br>
</p>
</body>
</html>
END89283;

$filePath = 'uploaded_files/great_house.jpg';
$fileName = basename($filePath);
$fileType = 'image/jpeg';
/* to find out what string to use for type, see
 http://en.wikipedia.org/wiki/Internet_media_type 
or $_FILES['attachment']['type'];
*/

/* encode the email content */

$mineBoundaryStr='otecuncocehccj8234acnoc231';

$headers= <<<EEEEEEEEEEEEEE
From: $fromAddr
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="$mineBoundaryStr"

EEEEEEEEEEEEEE;

// Add a multipart boundary above the plain message 
$mailBodyEncodedText = <<<TTTTTTTTTTTTTTTTT
This is a multi-part message in MIME format.

--{$mineBoundaryStr}
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

$mailBodyText

TTTTTTTTTTTTTTTTT;

$file = fopen($filePath,'rb'); 
$data = fread($file,filesize($filePath)); 
fclose($file);
$data = chunk_split(base64_encode($data));

// file attachment part
$mailBodyEncodedText .= <<<FFFFFFFFFFFFFFFFFFFFF
--$mineBoundaryStr
Content-Type: $fileType;
 name=$fileName
Content-Disposition: attachment;
 filename="$fileName"
Content-Transfer-Encoding: base64

$data

--$mineBoundaryStr--

FFFFFFFFFFFFFFFFFFFFF;

if (
mail( $recipientAddr , $subjectStr , $mailBodyEncodedText, $headers )
) {
  echo '<p>Send successfully!</p>';
} else {
  echo '<p>Bah!</p>';
}

?>

valeuu Obrigado qm puder ajudar!!

Link para o comentário
Compartilhar em outros sites

  • 0

Opa então, não sei se tem gente lendo esse post mas essa é a minha tentativa de implementar o código achado na net com o q eu tava usando.

Lembrando q eu não entendo qse nada de PHP... se alguém puder me falar qualquer eu to fazendo de errado..

valeuu

o código:

<?php

// Aqui ficam os dados do seu e-mail e da autoresposta!!!

$assunto = "Orçament"; //Assunto do e-mail q vai chegar na sua caixa de mensagem
$mail = "contato@"; //E-mail que você gostaria de receber os resultados dos formmail's
$assunto_auto = "Orçamento";//Assunto da Auto Resposta
$website = "s";//Nome do Website
$url_website = "www..com";//Url do Website
$nome_webmaster = "A";//Nome do Webmaster do site


$random_hash = md5(date('r', time()));
$headers = "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";

$resposta = $_POST["opcoes"];; //O que vem do formulário...

if($resposta == 'ensaio'){
    
  $attachment = chunk_split(base64_encode(file_get_contents("ensaiofem.jpg")));

  $output = "
--PHP-mixed-$random_hash;
Content-Type: multipart/alternative; boundary='PHP-alt-$random_hash'
--PHP-alt-$random_hash
Content-Type: text/plain; charset='iso-8859-1'
Content-Transfer-Encoding: 7bit

Olá $nome
Confira nossos preços de Ensaio Fotográfico

--PHP-alt-$random_hash
Content-Type: text/html; charset='iso-8859-1'
Content-Transfer-Encoding: 7bit

<h2>Olá $nome</h2>
<p>Confira nossos preços de Ensaio Fotográfico</p>

--PHP-alt-$random_hash--

--PHP-mixed-$random_hash
Content-Type: application/zip; name=ensaiofem.jpg
Content-Transfer-Encoding: base64
Content-Disposition: attachment

$attachment
--PHP-mixed-$random_hash--";        

}elseif($resposta == 'festa15'){
    
  $attachment = chunk_split(base64_encode(file_get_contents("festa15.jpg")));

  $output = "
--PHP-mixed-$random_hash;
Content-Type: multipart/alternative; boundary='PHP-alt-$random_hash'
--PHP-alt-$random_hash
Content-Type: text/plain; charset='iso-8859-1'
Content-Transfer-Encoding: 7bit

Olá $nome
Confira nossos preços de festa15

--PHP-alt-$random_hash
Content-Type: text/html; charset='iso-8859-1'
Content-Transfer-Encoding: 7bit

<h2>Olá $nome</h2>
<p>Confira nossos preços de festa15</p>

--PHP-alt-$random_hash--

--PHP-mixed-$random_hash
Content-Type: application/zip; name=festa15.jpg
Content-Transfer-Encoding: base64
Content-Disposition: attachment

$attachment
--PHP-mixed-$random_hash--";    
        
        
}elseif($resposta == 'festa'){
        $mensagem_auto = "\nOlá $nome,\n\nConfira abaixo nossos preços de Festas!\n\n10pila\n\n$nome_webmaster \n $website";
        
    $attach = $_FILES["festa15.jpg"]["tmp_name"];
    $attach_name = $_FILES["festa15.jpg"]["name"];
    $attach_size = $_FILES["festa15.jpg"]["size"];
    $attach_type = $_FILES["festa15.jpg"]["type"];        
        
            
}elseif($resposta == 'evento'){
        $mensagem_auto = "\nOlá $nome,\n\nConfira abaixo nossos preços para Eventos!\n\n10pila\n\n$nome_webmaster \n $website";
        
    $attach = $_FILES["festa15.jpg"]["tmp_name"];
    $attach_name = $_FILES["festa15.jpg"]["name"];
    $attach_size = $_FILES["festa15.jpg"]["size"];
    $attach_type = $_FILES["festa15.jpg"]["type"];    
        
            
}elseif($resposta == 'sensual'){
        $mensagem_auto = "\nOlá $nome,\n\nConfira abaixo nossos preços de Ensaio Sensual!\n\n10pila\n\n$nome_webmaster \n $website";
        
    $attach = $_FILES["ensaiosensual.jpg"]["tmp_name"];
    $attach_name = $_FILES["ensaiosensual.jpg"]["name"];
    $attach_size = $_FILES["ensaiosensual.jpg"]["size"];
    $attach_type = $_FILES["ensaiosensual.jpg"]["type"];    
        
            
}elseif($resposta == 'outros'){
        $mensagem_auto = "\nOlá $nome,\n\nDentro de breve iremos analizar o seu pedido e retornaremos com o orçamento!\n\nMuito Obrigado\n\nAtenciosamente,\n$nome_webmaster \n$website";
        
        
        

}else{

}


// Aqui ficam os dados do formulário que serão enviados!!!

$nome = $_POST["nome"];//Campo Nome do Formulário
$email = $_POST["email"];//Campo E-mail do Formulário
$assunto_msg = $_POST["opcoes"];//Campo Mensagem do Formulário
$data = $_POST["data"];
$contato = $_POST["contato"];//Campo Contato do Formulário
$mensagem = "Formulário de Orçamento enviado por $nome - $website:\n\n";//Inicio da Mensagem enviada! 
$mensagem .= "Nome: $nome\n";//Nome do Contato
$mensagem .= "E-mail: $email\n";//Nome do Contato
$mensagem .= "Assunto: $assunto_msg\n";//Assunto do Contato
$mensagem .= "Data para o serviço: $data\n";
$mensagem .= "Mensagem:\n $contato";//Mensagem Enviada do Contato

//não modifique esta linha, pois é ela que envia a mensagem!!!
@mail($mail, $assunto, $mensagem, "From: $email");

//não modifique esta linha, pois é ela que envia a auto_resposta!!!
@mail($email, $assunto_auto, $output, "From: $mail");

header("Location:ok2.php");

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Opa..alguma alma ai pode me ajudar?? eu realmente não entendo nada de php e de nenhuma outra linguagem na verdade..não trabalho com isso por isso ta dificil pra mim.... eu só fico pegando os códigos na internet e tentando fazer funcionar!

isso é o que eu recebo no email:

--PHP-mixed-2170d5296016d1c3f7af0d17f62ce467;
Content-Type: multipart/alternative; boundary='PHP-alt-2170d5296016d1c3f7af0d17f62ce467'
--PHP-alt-2170d5296016d1c3f7af0d17f62ce467
Content-Type: text/plain; charset='iso-8859-1'
Content-Transfer-Encoding: 7bit

Olá
Confira nossos preços de festa15

--PHP-alt-2170d5296016d1c3f7af0d17f62ce467
Content-Type: text/html; charset='iso-8859-1'
Content-Transfer-Encoding: 7bit

<h2>Olá </h2>
<p>Confira nossos preços de festa15</p>

--PHP-alt-2170d5296016d1c3f7af0d17f62ce467--

--PHP-mixed-2170d5296016d1c3f7af0d17f62ce467
Content-Type: image/jpg; name=festa15.jpg
Content-Transfer-Encoding: base64
Content-Disposition: attachment

/9j/4QZHRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAA
agEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodpAAQAAAABAAAApAAAANAALcbA
AAAnEAAtxsAAACcQQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzADIwMTA6MTE6MTQgMjI6MjE6
MDcAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAA5KADAAQAAAABAAAAQQAAAAAAAAAGAQMAAwAA
AAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIA
BAAAAAEAAAURAAAAAAAAAEgAAAABAAAASAAAAAH/2P/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSA
AAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgALgCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEF
AQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAAB
BAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHx
Y3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm
9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS
0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0
pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A9VSSSSUpJVeodT6f0zH+
09QyK8WjcGCyxwaC4/RYJ+k5R6Z1jpfVqn3dNya8uut2x76zIDo3bf8ANckpuJJJpEkTqOR8UlLp
JKtV1Lp92LbmVZNT8WjeLb2vBY30/wCe32fQb6Ue9JTZSWb076x9D6pecfp+bVk3NZ6prYddkhvq...

aqui continua esses códigos e por fim aparece:


--PHP-mixed-2170d5296016d1c3f7af0d17f62ce467--

valeuu

Link para o comentário
Compartilhar em outros sites

  • 0
Cara... é só você colocar nas suas verificações (if) para exibir a imagem com a tag <img> para aquela ocasião

opa valeu por dar uma checada.. mas se você pudesse ser um pouco mais específico porque eu não entendo nada de php.. não sei qualquer é a tag <img> :P

valeu aii!

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...