Ir para conteúdo

Arquivado

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

Fabyo

Formulario de Email com Anexo

Recommended Posts

Enviar Email com Anexo

 

Como tem bastante usuarios com duvidas em "como enviar email com Anexo"

 

eu fiz esse formulario que envia email com anexo,e validação de email

 

email.html

[color= #009900;][url="http://december.com/html/4/element/html.html"][color= #0000BB;]<html>[/url]
[url="http://december.com/html/4/element/head.html"]<head>[/url]
[url="http://december.com/html/4/element/script.html"]<script[/url] language="javascript">

function checa_formulario(email){

        if (email.nome.value == ""){
  alert("Por Favor nao deixe o seu nome em branco!!!");
   email.nome.focus();
        return (false);
}

        if (email.email_from.value == ""){
  alert("Por Favor nao deixe o seu email em branco!!!");
   email.email_from.focus();
        return (false);
}

        if (email.email.value == ""){
  alert("Nao deixe o email destinatario em branco!!!");
   email.email.focus();
        return (false);
}

        if (email.assunto.value == ""){
  alert("Nao deixe o assunto em branco!!!");
   email.assunto.focus();
        return (false);
}

}
</script>
[url="http://december.com/html/4/element/title.html"]<title>[/url]Enviando texto</title>
[url="http://december.com/html/4/element/meta.html"]<meta[/url] http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
[url="http://december.com/html/4/element/style.html"]<style[/url] type="text/css">
<!--
.email {
text-transform: lowercase;
}
.texto {
color: #0000FF
}
.style1 {color: #FF0000}

-->
</style>
</head>

[url="http://december.com/html/4/element/body.html"]<body[/url] onload="document.email.nome.focus();">
[url="http://december.com/html/4/element/form.html"]<form[/url] onsubmit="return checa_formulario(this)" action="envia.php" method="post" enctype="multipart/form-data" name="email">
  [url="http://december.com/html/4/element/h1.html"]<h1[/url] align="center" class="style1">Formulario de email com anexo </h1>
  [url="http://december.com/html/4/element/table.html"]<table[/url] width="32%"  border="0" align="center">
    [url="http://december.com/html/4/element/tr.html"]<tr>[/url]
      [url="http://december.com/html/4/element/td.html"]<td>[/url]Nome</td>
      [url="http://december.com/html/4/element/td.html"]<td>[/url][url="http://december.com/html/4/element/input.html"]<input[/url] name="nome" type="text" id="nome"></td>
    </tr>
    [url="http://december.com/html/4/element/tr.html"]<tr>[/url]
      [url="http://december.com/html/4/element/td.html"]<td[/url] width="33%">[url="http://december.com/html/4/element/div.html"]<div[/url] align="right" class="texto">De:</div></td>
      [url="http://december.com/html/4/element/td.html"]<td[/url] width="67%">[url="http://december.com/html/4/element/input.html"]<input[/url] name="email_from" type="text" class="email"></td>
    </tr>
    [url="http://december.com/html/4/element/tr.html"]<tr>[/url]
      [url="http://december.com/html/4/element/td.html"]<td>[/url][url="http://december.com/html/4/element/div.html"]<div[/url] align="right" class="texto">Para</div></td>
      [url="http://december.com/html/4/element/td.html"]<td>[/url][url="http://december.com/html/4/element/input.html"]<input[/url] name="email" type="text" class="email">
    </tr>
    [url="http://december.com/html/4/element/tr.html"]<tr>[/url]
      [url="http://december.com/html/4/element/td.html"]<td>[/url][url="http://december.com/html/4/element/div.html"]<div[/url] align="right" class="texto">Assunto</div></td>
      [url="http://december.com/html/4/element/td.html"]<td>[/url][url="http://december.com/html/4/element/input.html"]<input[/url] name="assunto" type="text" id="assunto"></td>
    </tr>
    [url="http://december.com/html/4/element/tr.html"]<tr>[/url]
      [url="http://december.com/html/4/element/td.html"]<td>[/url][url="http://december.com/html/4/element/div.html"]<div[/url] align="right" class="texto">Mensagem</div></td>
      [url="http://december.com/html/4/element/td.html"]<td>[/url][url="http://december.com/html/4/element/textarea.html"]<textarea[/url] name="mensagem" cols="50" rows="10" id="mensagem"></textarea></td>
    </tr>
    [url="http://december.com/html/4/element/tr.html"]<tr>[/url]
      [url="http://december.com/html/4/element/td.html"]<td>[/url][url="http://december.com/html/4/element/div.html"]<div[/url] align="right" class="texto">Anexo</div></td>
      [url="http://december.com/html/4/element/td.html"]<td>[/url][url="http://december.com/html/4/element/input.html"]<input[/url] name="arquivo" type="file"></td>
    </tr>
    [url="http://december.com/html/4/element/tr.html"]<tr>[/url]
      [url="http://december.com/html/4/element/td.html"]<td>[/url] </td>
      [url="http://december.com/html/4/element/td.html"]<td>[/url][url="http://december.com/html/4/element/input.html"]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém poderia me explicar mais ou menos esta parte de anexo do script ?

 

<!--php1--><div class='phptop'>PHP</div><div class='phpmain'><!--ephp1--><link href = "style_images/css_php.css" rel = "stylesheet" type = "text/css">

[*]<font color="#1C8C00">$arquivo</font> = <font color="#0080D5">isset</font>(<font color="#1C8C00">$_FILES</font>[<font color="#9C8501"><font color="blue"><font color="blue"><font color="blue"><font color="blue">"arquivo"</font></font></font></font></font>]) ? <font color="#1C8C00">$_FILES</font>[<font color="#9C8501"><font color="blue"><font color="blue"><font color="blue"><font color="blue">"arquivo"</font></font></font></font></font>] : FALSE;

[*]

[*]<font color="#0080D5"><font color="#000000">if</font></font>(<font color="#0080D5">file_exists</font>(<font color="#1C8C00">$arquivo</font>[<font color="#9C8501"><font color="blue"><font color="blue"><font color="blue">"tmp_name"</font></font></font></font>]) and !<font color="#0080D5">empty</font>(<font color="#1C8C00">$arquivo</font>)){

[*]

[*]<font color="#1C8C00">$fp</font> = <font color="#0080D5">fopen</font>(<font color="#1C8C00">$_FILES</font>[<font color="#9C8501"><font color="blue"><font color="blue"><font color="blue"><font color="blue">"arquivo"</font></font></font></font></font>][<font color="#9C8501"><font color="blue"><font color="blue"><font color="blue">"tmp_name"</font></font></font></font>],<font color="blue">"rb"</font>);

[*]<font color="#1C8C00">$anexo</font> = <font color="#0080D5">fread</font>(<font color="#1C8C00">$fp</font>,<font color="#0080D5">filesize</font>(<font color="#1C8C00">$_FILES</font>[<font color="#9C8501"><font color="blue"><font color="blue"><font color="blue"><font color="blue">"arquivo"</font></font></font></font></font>][<font color="#9C8501"><font color="blue"><font color="blue"><font color="blue">"tmp_name"</font></font></font></font>]));

[*]<font color="#1C8C00">$anexo</font> = <font color="#0080D5">base64_encode</font>(<font color="#1C8C00">$anexo</font>);

[*]

[*]<font color="#0080D5">fclose</font>(<font color="#1C8C00">$fp</font>);

[*]

[*]<font color="#1C8C00">$anexo</font> = <font color="#0080D5">chunk_split</font>(<font color="#1C8C00">$anexo</font>);

<!--php2--></div><!--ephp2-->

 

Valeu, até mais http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

e para enviar mais de 1 anexo? da um exemplo onde o usuario digita qnts anexos qer enviar ou em um botao onde ele vai adicionando (como no uebimiau)

Compartilhar este post


Link para o post
Compartilhar em outros sites
PHP
  1. //se existir o upload ele vai ser passado para variavel $arquivo
  2. //isset = verifica se existe a variavel e ? : é um if abreviado
  3. $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;

  4. // verifica se existe o arquivo na pasta tmp e se nao ta vazio
  5. //quando faz o upload ele fica temporariamente numa pasta temp do servidor
  6. if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){

  7. //abro o arquivo para leitura e interpretado como binario o "rb" r é de somente leitura e o b é de binario
  8. $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");
  9. //fread  Leitura de arquivo binario
  10. $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));    
  11. //base64_encode Codifica dados com MIME base64
  12. $anexo = base64_encode($anexo);
  13. //fecha o arquivo
  14. fclose($fp);
  15. //Divide uma string em pequenos pedaços
  16. //Pode dividir uma string em pequenos pedaços que são úteis para ex. converter a saída de base64_encode() para semânticas RFC 2045
  17. $anexo = chunk_split($anexo);

 

e sobre mandar varios arquivos em anexo o sistema é o mesmo, só precisa ser criado um sistema que pegue os arquivos e renomeie e coloque num loop e passe a função neles ate acabar

 

qualquer duvida posta ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho algumas perguntas:Onde eu configuro o smtp localmente? pode ser usado um smtp grátis? Qual? Como posso usar o servidor smtp para enviar esses emails?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui configurar para enviar e-mail, mas quando eu coloco pra enviar com anexo ele retorna o seguinte erro:

 

Warning: Server Error in c:\diego\phpdev\www\mail_attachment\mail.php on line 65

 

onde a linha 65 é:

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

o que pode estar errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho algumas perguntas:

 

Onde eu configuro o smtp localmente?

pode ser usado um smtp grátis? Qual?

Como posso usar o servidor smtp para enviar esses emails?

<{POST_SNAPBACK}>

1. no php.ini, procure a linha: SMTP = localhost, e troque pelo servidor, ex: smtp.uol.com.br

2. tenho quase certeza que não existe smtp gratuito/aceite conexoes, por causa dos spammers...

3. voce pode instalar um servidor smtp na sua maquinha, ae o ip do servidor seria 127.0.0.1

 

abracos

Compartilhar este post


Link para o post
Compartilhar em outros sites

onde encontro o php.ini

 

 

Tenho algumas perguntas:

 

Onde eu configuro o smtp localmente?

pode ser usado um smtp grátis? Qual?

Como posso usar o servidor smtp para enviar esses emails?

<{POST_SNAPBACK}>

1. no php.ini, procure a linha: SMTP = localhost, e troque pelo servidor, ex: smtp.uol.com.br

2. tenho quase certeza que não existe smtp gratuito/aceite conexoes, por causa dos spammers...

3. voce pode instalar um servidor smtp na sua maquinha, ae o ip do servidor seria 127.0.0.1

 

abracos

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabyo no campo [ para ] gostaria de colocar uma caixa de escolha de emails. Como faco? fui fazer deu erro, você pode me ajudar?sayonara

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não posso usar um e-mail que seja webmail ? tem que ser POP3 ?pq o script funciona perfeitamente, mas o e-mail nunca chega no meu gmail...obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloquei o script na minha pagina mas nao funcionou, criei as duas páginas com o cogigo q peguei ak mas nao funcionou quando clico em enviar ele mostra a página do script, com todo o codigo fonte, com erros, acrescentei alguns pontos e virgula no final de algumas linhas de codigo, e o erro mudou diz agora so o seguinte.Parse error: parse error, unexpected T_ELSE in /home/moveis/public_html/envia.php on line 76a linha 76 é essaelse{o restante e esse//se nao tiver anexoelse{$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";//envia o email sem anexomail($email,$assunto,$mensagem, $headers);vejam se podem me ajudar por favoar

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.