Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabyo

Formulario de Email com Anexo

Recommended Posts

Alguem sabe como colokar + anexos nesse form? (o citado no inicio do tópico)Tento, mas nada resolve, ele acaba no máximo enviando apenas o 1º anexo, mas kero + 05...Se alguem conseguiu, agradeço a ajuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá ......

Eu criei um formulario que funciona perfeitamente e gostaria apenas de adicionar o anexo, mas não estou conseguindo.

Não entendo muito de php.

Será que alguém poderia me ajudar ja criei varios topicos, ja pesquisei muito li muitos tutoriais, artigos e não consigo nada.

O meu form.php é o seguinte:

 

<?$mensagem = $_REQUEST["mensagem"];   $assunto = $_REQUEST["assunto"]; $email = $_REQUEST["email"]; $usuario = $_REQUEST["usuario"]; $msg .= "usuario:\n $usuario\n";$msg .= "Email:\n $email\n";$msg .= "Assunto:\n $assunto\n";$msg .= "Mensagem:\n $mensagem\n";$cabecalho = "From: E-mail Sautchuk Marchi";#Titulo da mensagemmail("atendimento@smarchi.com.br", "E-mail Sautchuk Marchi", $msg, $cabecalho);?><?include("copy.php")?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

preciso criar mais dois campos (telefone e cidade)

não to conseguindo fazer, e nem entendi uma das respostas dadas acima pelo Fabyo

 

coloca os campos na $mensagem

 

use assim:

 

$mensagem .= $login."

";

$mensagem .= $campo."

";

$mensagem .= $campo2."

";

 

etc...

 

o .= concatena uma variavel e

pula linha

 

Alguém pode me explicar?? Onde eu coloco isso? em que parte do código,,, se puder me explucar como um passo a passo....

 

 

desde já agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal. Seu codigo está realmente mt bom Fabyo mas o meu problema está parecendo ser maior.. hehe

Eu estou desenvolvendo um sistema que tem um formulario, apos preenchimento (óbvio), é gerado um pdf com os dados inseridos e esse pdf é salvo no servidor (usando o FPDF).

Até essa parte, tudo bem. É gerado um pdf na raiz do servidor. O problema é que preciso enviar esse pdf para um email e é ai que não estou conseguindo adaptar esse codigo.. Pelo fato do arquivo ja estar salvo no servidor, não precisa fazer upload e nenhum campo do tipo file para enviar. Entendem?

 

Eu gostaria de saber se tem como adaptar esse codigo pra ler o arquivo diretamente do servidor em vez de "upar" de novo.

 

Conto com a ajuda de vcs.. :]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom seu script!!!

É o que eu estava precisando!

 

Só que na verdade, preciso enviar para um email fixo, você pode me dizer como faz isso?

 

E tb vou precisar colocar mais campos, como telefone e empresa..

 

Se puder me ajudar, fico muito grato...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para mandar para um email fixo basta mudar essa linha

 

mail($email,$assunto,$mensagem, $headers);

 

e colocar o email que você quer:

 

mail("seu@email.com", $assunto, $mensagem, $headers);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom esse script.

 

Eu ja tenho um que uso aqui e queria apenas adicionar a ele a função de enviar o anexo.

 

Alguem pode me ajudar a saber quais linhas devo pegar e adicionar no meu?

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabyo... estou com um problema q não sei se é exatamente no script... mas se você puder da uma força.

 

O formulario deu tudo certo, ta chegando o e-mail com o anexo perfeitamente.

 

Porém, o anexo só abre quando o arquivo é bem pequeno (menos 20 kb).

Quando é um arquivo fechado tipo .pdf .doc ele da como arquivo corrompido enão consegue ler o arquivo.

Quando é um html com alguns kb a mais (tipo uns 30kb) ele chega com algumas linhas de código correto, mas a metade pra baixo vem tudo criptografada tipo isso (#$%¨¨$%¨%$#@$@#$!@#).

 

Alguem tem idéia do que possa ser?!

 

Valeu galerinhaa... primeiro post!

Sucesso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui deu certo o envio, porem quando abro o email no destinatario...nao aparece com anexo...e o que seria anexo fica em modo de texto todo bagunçado....

 

se alguem poder me ajudar ....grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

poderiam me dizer qual parte trata SOMENTE de anexar o arquivo?

 

eu tenho um código de newsletter mas não tenho como anexar arquivos..

e sou iniciante em PHP...

 

 

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal, alguem me da um help? estou tentando fazer um form com o envio de foto, tentei implementar este codigo, mas esta dando erro

PHP Parse error: syntax error, unexpected T_STRING in E:\home\agenciabub\Web\envia.php on line 111

alguem consegue me ajudar???

 

<?php
//pego os dados enviados pelo formulario
$destino = "casting@agenciabubah.com.br";
$assunto = "Cadastro via site";

$Nome = $_POST["Nome"];
$Nasc = $_POST["Nasc"];
$Idade = $_POST["Idade"];
$Endereco = $_POST["Endereco"];
$Bairro = $_POST["Bairro"];
$Cidade = $_POST["Cidade"];
$Estado = $_POST["Estado"];
$fone = $_POST["fone"];
$Cel1 = $_POST["Cel1"];
$Cel2 = $_POST["Cel2"];
$email = $_POST["email"];
$sexo = $_POST["sexo"];
$Cabelos = $_POST["Cabelos"];
$Olhos = $_POST["Olhos"];
$Altura = $_POST["Altura"];
$Maneq = $_POST["Maneq"];
$trabalhos = $_POST["trabalhos"];

//valido os emails
if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email)){

echo"<center>Digite um email valido</center>";
echo "<center><a href=\"java script:history.go(-1)\">Voltar</center></a>";
exit;

}

if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email_from)){

echo "<center>Digite um email valido</center>";
echo "<center><a href=\"java script:history.go(-1)\"><center>Voltar</center></a>";
exit;

}

$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;

if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){

       $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");
       $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));
       $anexo = base64_encode($anexo);

fclose($fp);

$anexo = chunk_split($anexo);


$boundary = "XYZ-" . date("dmYis") . "-ZYX";
 $mens = "--$boundary\n";
   $mens .= "Content-Transfer-Encoding: 8bits\n";
   $mens .= "Content-Type: text/html; charset="ISO-8859-1"\n\n"; //plain
   $mens .= "$Nome\n";
   $mens .= "$Nasc\n";
   $mens .= "$Idade\n";
   $mens .= "$Endereco\n";
   $mens .= "$Bairro\n";
   $mens .= "$Cidade\n";
   $mens .= "$Estado\n";
   $mens .= "$fone\n";
   $mens .= "$Cel1\n";
   $mens .= "$Cel2\n";
   $mens .= "$emai\ln";
   $mens .= "$sexo\n";
   $mens .= "$Cabelos\n";
   $mens .= "$Olhos\n";
   $mens .= "$Altura\n";
   $mens .= "$Maneq\n";
   $mens .= "$trabalhos\n";
    $mens .= "--$boundary\n"
    $mens .= "Content-Type: ".$arquivo["type"]."\n";
    $mens .= "Content-Disposition: attachment; filename="".$arquivo["name"].""\n";
    $mens .= "Content-Transfer-Encoding: base64\n\n";
    $mens .= "$anexo\n";
    $mens .= "--$boundary--r\n";

$headers  = "MIME-Version: 1.0\n";
$headers .= "From: "$nome" <$email>\r\n";
$headers .= "Content-type: multipart/mixed; boundary="$boundary"\r\n";
$headers .= "$boundary\n";


//envio o email com o anexo
mail($destino,$assunto,$mens,$headers);

       echo"Email enviado com Sucesso!";

}
//se nao tiver anexo
else{

$headers  = "MIME-Version: 1.0rn";
$headers .= "Content-type: text/html; charset=iso-8859-1rn";
$headers .= "From: "$nome" <$email_from>rn";

//envia o email sem anexo
mail($email,$assunto,$mensagem, $headers);

       echo"Email enviado com Sucesso!";

}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabyo ,

 

Muito obrigado pelo formulario!!

 

Esta tudo 100% aqui!! valeu mesmo!

 

Estou querendo colocar limites de tamanho e filtrar algumas extensões no anexo... é possivel tbm?

 

Ate mais! Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caramba galera, ninguém aqui conseguiu enviar anexo sem ter nenhum problema.

 

Eu ainda não consegui também. Meu site é www.fredericcesadias.com

 

Enquanto a gente não conseguir enviar e-mail com anexo corretamente ou quem não sabe mandar e-mail, mesmo sem anexo, há 2 arquivos muito simples para enviar e-mails sem anexos, que funcionaram e foram achados em http://www.angelo.com.br/util1.php?cod=1

 

obs1: o nome do arquivos criados não devem ser alterados.

obs2: no arquivo enviar.php é preciso colocar o e-mail destinatário (QUE NÃO APARECERÁ PARA O USUÁRIO)

 

exemplo

a linha

$destino = "seu_email@seu_dominio.com.br";

após alterada ficará

$destino = "papainoel@gmail.com";

 

arquivo formulario.html

 

<html>
<head>
<title>Formulario de E-mail</title>
</head>
<body>
<table width="80%" align="center">
<form action="envia.php" method="post" name="formulario" id="formulario">
<tr>
<td width="20%">Seu Email</td>
<td><input type="text" name="email" size="50" maxlength="255"></td>
</tr>
<tr>
<td width="20%">Assunto</td>
<td><input type="text" name="titulo" size="50" maxlength="255"></td>
</tr>
<tr>
<td colspan=2>Sua Mensagem<br>
<textarea cols="53" rows="5" name="texto"></textarea>
</td>
</tr>
<tr>
<td colspan=2 align="center"><input type="submit" value="Enviar Email"></td>
</tr>
</form>

</table>

</body>
</html>

 

 

arquivo enviar.php

 

<?

$destino = "seu_email@seu_dominio.com.br";
$rementente = $email;
$assunto = $titulo;
$mensagem= $texto;

$headers = "Content-Type: text/html; charset=iso-8859-1";
$headers.="From:".$rementente."";

mail("$destino", "$assunto", "$mensagem","$headers");

?>
<html>
<body>
<center>
Obrigado !!!
<br>
Seu email foi enviado com sucesso !!!
</center>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui!!!

O e-mail com anexo chegou e o arquivo não estava corrompido.

 

A anta aqui sem querer se perdeu nos navedores abertos na hora de postar aqui então fiquei sem o endereço do site que abaixei os modelos.

 

Tive que deletar a linha 2 do arquivo achado para o código funcionar e mudei o arquivo index.htm para email.html

 

Então o resultado ficou:

 

obs:

no arquivo processa.php mude o endereço de e-mail papainoel@gmail.com das linhas

 

$email = "papainoel@gmail.com";

$email_from = "papainoel@gmail.com";

 

colocando o email destinatário, no arquivo email.html usem o campo nome como e-mail de quem enviará o e-mail, pois em um e-mail quem quer colocar o nome coloca no corpo do e-mail. O modelo final do arquivo email.html eu colocarei em meu site www.fredericcesadias.com/email.html

 

Arquivo processa.php

 

<?php
//pego os dados enviados pelo formulario
$nome       = $_POST["nome"];
$email      = $_POST["email"];
$mensagem   = $_POST["mensagem"];
$assunto    = $_POST["assunto"];
$email_from = $_POST["email_from"];


 $ip = "$REMOTE_ADDR";

 $email = "papainoel@gmail.com";
 $email_from = "papainoel@gmail.com";
 
if ($assunto == "") { $assunto = "Arquivo Importante!";};
if ($mensagem == "") { $mensagem = "Nenhuma mensagem foi digitada!";};
if ($nome == "") { $nome = "Sem nome!";};


$mensagem = "$mensagem  \n Rementente: $ip";
//formato o campo da mensagem
$mensagem   = wordwrap( $mensagem, 50, "<br>", 1);

//valido os emails



$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;

if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){

	$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");
	$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));           
	$anexo = base64_encode($anexo); 

fclose($fp);
	
$anexo = chunk_split($anexo); 


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

    $mens = "--$boundary\n";
    $mens .= "Content-Transfer-Encoding: 8bits\n";
    $mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; //plain
    $mens .= "$mensagem\n";
    $mens .= "--$boundary\n";
	$mens .= "Content-Type: ".$arquivo["type"]."\n"; 
	$mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n"; 
	$mens .= "Content-Transfer-Encoding: base64\n\n"; 
	$mens .= "$anexo\n"; 
	$mens .= "--$boundary--\r\n"; 

$headers  = "MIME-Version: 1.0\n"; 
$headers .= "From: \"$nome\" <$email_from>\r\n"; 
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; 
$headers .= "$boundary\n";
		  
mail($email,$assunto,$mens,$headers); 
	
	echo"<HTML><HEAD><TITLE>Tenha um bom dia!</TITLE></HEAD><BODY>Tenha um bom dia!</BODY></HTML>";

}

else{
	
 $headers  = "MIME-Version: 1.0\r\n";
 $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
 $headers .= "From: \"$nome\" <$email_from>\r\n";
 
mail($email,$assunto,$mensagem, $headers);

	echo"<HTML><HEAD><TITLE>Tenha um bom dia!</TITLE></HEAD><BODY>Tenha um bom dia!</BODY></HTML>";

}
  


?>

 

Arquivo email.html

 

<html>
<head>
<title>Página Principal</title>
</head>
<body>
<form action="processa.php" method="post" enctype="multipart/form-data" name="formulario">
 <table width="641" border="0" align="center">
 <tr>
 <td width="66" align="left"><font face="Arial" size="3" color="#0000FF"><b>NOME</b></font></td>
 <td width="561"><input name="nome" type="text" id="nome"></td>
 </tr>
 <tr>
 <td width="66" align="left"><font face="Arial" size="3" color="#0000FF"><b>ASSUNTO</b></font></td>
 <td width="561"><input name="assunto" type="text" id="assunto"></td>
 </tr>
 <tr>
 <td width="66" align="left"><font face="Arial" size="3" color="#0000FF"><b>MENSAGEM</b></font></td>
 <td width="561"><textarea name="mensagem" cols="60" rows="7" id="mensagem"></textarea></td>
 </tr>
 <tr>
 <td width="66" align="left"><font face="Arial" size="3" color="#0000FF"><b>COMPLEMENTO</b></font></td>
 <td width="561"><input name="arquivo" type="file"></td>
 </tr>
 <tr>
 <td width="66" align="left"><font face="Arial" size="3" color="#0000FF"><b> </b></font></td>
 <td width="561">
 <p align="center"><input type="submit" name="Submit" value="Enviar"></p>
 </td>
 </tr>
 </table>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.