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

Anexar Um Arquivo No Email


Dukes

Pergunta

Dae galera, já fucei tudo que tinha de "anexar" nesse forum, e não axei uma solução pra mim.....

Bem fiz um sistema que envia email via um formulário, só que o DANADO não anexa a imagem (que já está no meu Server), o Email até chega no destino, só q a imagem não VEM... nem Anexada nem Dentro do email.

Bem vou colar o codigo pra vêr se alguém me dá uma LUZ.

formulário

<table width="300" height="321" border=0 CELLPADDING=2 CELLSPACING=0>

<form name="remete" action="anexo.php?acao=enviar" method="POST" OnSubmit="return TestaCampos()" ENCTYPE="multipart/form-data">

<tr><td colspan="2" bgcolor="#336699">

    <div align="center"><font color="ffffff" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>    &nbsp;

Envio de Foto por Email  </strong></font>

    </div></td>

</tr>

<tr bgcolor="#F7F7F7">

  <td height="26"> <font face="Arial,Helvetica">

    <p align="left"> <strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Seu

        Nome</font>&nbsp;&nbsp; </strong> </p>

  </font> </td>

  <td height="26" align=center> <font face="Arial,Helvetica">

    <input name="nome_from" id="nome_from" SIZE="20">

  </font></td>

</tr>

<tr bgcolor="#F7F7F7"><td width="63" height="26">

<font face="Arial,Helvetica">

    <p align="left">

        <strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Seu

        Email:</font>&nbsp;&nbsp;

        </strong>

      </p>

</font>

    </td>

<td width="229" height="26" align=center>

<font face="Arial,Helvetica">

<input name="from" SIZE="20">

</font></td>

</tr>

<tr bgcolor="#F7F7F7">

  <td height="26"><font face="Arial,Helvetica">

    <p align="left"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Nome

          Amigo</font></strong></p>

  </font></td>

  <td height="26" align=center> <font face="Arial,Helvetica">

    <input name="nome_amigo" id="nome_amigo" value="" SIZE="20">

  </font></td>

</tr>

<tr bgcolor="#F7F7F7"><td height="26"><font face="Arial,Helvetica">

  <p align="left"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Email

        Amigo</font></strong></p>

</font></td>

<td height="26" align=center>

<font face="Arial,Helvetica">

<input name="email_amigo" id="email_amigo" value="" SIZE="20">

</font></td>

</tr>

<tr bgcolor="#F7F7F7"><td height="120">

<font face="Arial, Helvetica">

<p align="left"><? echo"<img src='fotos/$foto' width='100' height='75' border='0'>"; ?>

    <strong> </strong>

    </p></font></td>

<td height="120" align=center valing="top">

<font face="Arial,Helvetica">&nbsp; </font><font face="Arial, Helvetica"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;&nbsp;Coment&aacute;rio: </font></strong></font><font face="Arial,Helvetica">

<TEXTAREA name="corpo" rows="5" cols="26"></TEXTAREA>

</font></td>

</tr>

<tr bgcolor="#F7F7F7"><td height="40">

<font face="Arial,Helvetica">

    <p align="left">

        <strong>

        <input type="hidden" name="foto" value="<? echo"$foto";?>">

  <input type="hidden"  name="assunto" size="30" value="Envio de Foto <? echo"$nome_site"; ?>">

        </strong>

      </p></font>

    </td>

<td height="40" align=center>

<font face="Arial,Helvetica">&nbsp; </font></td>

</tr>

<tr bgcolor="#F7F7F7">

<td height="52" colspan="2" align=center>

    <center>

<INPUT type="submit" name="Enviar" value="Enviar">

    &nbsp;&nbsp;

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

    &nbsp;&nbsp;

  <input type="button" name="Enviar" value="Voltar" onclick="submit()">

    </center>

</td>

</tr>

    <input type="hidden" name="acao" value="enviar">

    <input type="hidden" name="Submit" value="entrar">

<tr align="center">

  <td colspan="2" bgcolor="#336699">

    <font color="ffffff" size="1" face="Verdana, Arial, Helvetica, sans-serif" align=right>    Desenvolvido por: <strong>Eduardo

    Amorim</strong>&nbsp;&nbsp;    </font>

    </td>

</tr>

</form>

</table>

Sistema de envio.

<?

include"conf.php";

$anexo="$site/$local/$evento/fotos/$foto";

  if($acao == "enviar")

  {

      $dados = file($file_cad);

      $aux = 0;

      $url.="apaga.php";

//while (each($dados))

//{

            $subdados_aux = explode("][",$dados[$aux]);

            //$email_amigo = $subdados_aux[1];

            $chave_ap = $subdados_aux[2];

        $corpo_a  = $corpo;

        $corpo_a .= "\n\n Se deseja ver mais fotos clic aqui";

        $corpo_a .= " $site/$local/$evento \n";

            $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");

            $ABORT = FALSE;

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

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

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

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

    $messege .="Prezado(a) $nomeamigo, $seunome Visitou o site $nome_site e \n est&aacute; lhe enviando esta foto.";

    $message .= $corpo_a;

            $message .= "\n";

            #//attachment file names with full path

            $attachments[1] = $anexo;

            #$attachments[2] = "c:\etc";

            #$attachments[3] = "c:\etc";

            //verifica se existe um arquivo anexado no código

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

    {

                  if ($full_path !='')

      {

                      if (file_exists($full_path))

        {

                          //try to open

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

          {

                              //get the file name from the path

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

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

                              //encode data

                              $encoded = base64_encode($contents);

                              //*****SPLIT THE ENCODED DATA*****

                              $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 "O Arquivo $filename não está abrindo file$key: ";

                              $ABORT = TRUE;

                          }

                      }

                      else

        {

                          echo "File$key não existe: $filename";

                          $ABORT = TRUE;

                      }

                  }

            }

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

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

            $headers .= "From: $nome_from <$from>\r\n";

    //From:$seunome <$seuemail> \nContent-type: text/html\n

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

            $mensagem=mail($email_amigo, $assunto, $message, $headers);

          /*  mail($email_amigo, $assunto, "$corpo

Se deseja sair da lista clique no limk a frente $url?chave_ap=$chave_ap","Remetido por $nome_ad

<$mail_ad>");*/

// $aux++;

// Final do While }

}

?>

[]´s galera

huh.gif

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Bem... usei esse sistema que me colocasse....

Ele até que funciona... Mas só consigo ANEXAR arquivos que teja no meu micro usando:

<input type="file" name="anexo">
Agora se eu uso:
 <input type="hidden" name="foto_anexo" value="<? echo"$foto";?>">
então... não sei uq é... blink.gif Ai vai o Codigo que eu fiz... Valeu Galera, espero AJUDA nesse POST!! []`s Eduardo Amorim
<?
include"conf.php";
$anexo="$site/$local/$evento/fotos/$foto_anexo";

//http://www.dudunafesta.com.br/album/album/foto/$foto_anexo
//Dados do SERVER colocados no conf.php


if ($acao == "anexar") // Se for apertado o botão de enviar ele entra neste if !

{

$tamanho_maximo = 1000*1000; // Tamanho máximo de 200 Kb - Você pode aumentar ou diminuir este 

valor se quiser !
// Eu recomendo que deixe da maneira que esta , se fizer um envio de arquivo em anexo publico!

if ($anexo_size <= $tamanho_maximo){ // Compara o tamanho máximo permitido com o tamanho do 

arquivo que será enviado !

if ($anexo != ""){ // Se existir arquivo anexo para ser enviado ele entra neste if !

//$corpo = "corpo\n"; // $Corpo é a variável do corpo do e-mail isso é onde aparece a mensagem do 

e-mail !

$mime_list = array("gif"=>"image/gif", "jpg"=>"image/jpg", "jpeg"=>"image/jpeg"); // Uma lista de 

tipos de arquivo que podaram ser enviados em anexo !

$ABORT = FALSE;

$data = "XYZ-" . date(dmyhms) . "-ZYX"; // Data de envio do e-mail !

// Mensagem do e-mail para o script entender que é um e-mail com anexo !

$message = "--$data\n";
$message .= "Content-Transfer-Encoding: 8bits\n";
$message .= "Content-Type: text/plain; charset=\"ISO-8859-1\"\n\n";
$message .= $corpo;
$message .= "\n";

// Pega o caminho completo do nome do arquivo !
$vet_anexo[1] = $anexo;

//Checa se o arquivo que será anexado do existe e este será codificado !
foreach($vet_anexo as $chave => $caminho) {
if ($caminho !='') {
if (file_exists($caminho)){
//Tentando abrir o aquivo
if ($arq = fopen($caminho,"rb")) {
//Pega o nome do aquivo apartir do seu caminho
$arq_nome = array_pop(explode(chr(92),$caminho));
$conteudo = fread($arq,filesize($caminho));
//Codifica os dados do Arquivo
$codificado = base64_encode($conteudo);

//*****SPLIT(Separando ou quebrando os dados codificados)*****
$codificado_split = chunk_split($codificado);
fclose($arq);
$message .= "--$data\n";
$message .= "Content-Type: $anexo_type\n";
$message .= "Content-Disposition: attachment; filename=\"$anexo_name\" \n";
$message .= "Content-Transfer-Encoding: base64\n\n";
$message .= "$codificado_split\n";
}
else { $erro = "Não foi possivel abrir o Arquivo $chave: $arq_nome";
$ABORT = TRUE; // $ABORD = TRUE significa que o script ira parar neste ponto !
}
}
else {
$erro = "O Arquivo $chave Não Exite: $arq_nome";
$ABORT = TRUE;
}

}
}

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

$topo = "MIME-Version: 1.0\n";
$topo .= "From: $de_nome <$de>\r\n";
$topo .= "Content-type: multipart/mixed; boundary=\"$data\"\r\n";


$mensagem = mail($para, $assunto, $message, $topo);
if ($mensagem) {
$erro = "Mensagem enviada!";

} else {
$erro = "O envio da mensagem falhou!";
}

}else{

$erro = "Você deixou um dos campos do formulário vazio!!";

}

}else{

$erro = "O arquivo deve ter no máximo 2MB !! Desculpe!!";

}

}
?>

<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
   <META HTTP-EQUIV="Content-Language" CONTENT="pt-br">
   <META NAME="GENERATOR" CONTENT="Microsoft FrontPage 4.0">
   <META NAME="ProgId" CONTENT="FrontPage.Editor.Document">
   <META NAME="Microsoft Theme" CONTENT="strtedge 011, default">
   <META NAME="Microsoft Border" CONTENT="tl, default">
   <TITLE>Mensagem</TITLE>

<STYLE TYPE="text/css">
  A:normal {color:#ffffff;}
  A:link   {color:#ffffff;text-decoration:none}
  A:visited{text-decoration: none}
  A:hover  {color:#ffffff;text-decoration:underline;}
</STYLE>
</HEAD>

<script LANGUAGE="JAVASCRIPT">
function TestaCampos()
{
	if (document.remete.from.value.length == 0)
	{
  alert('Digite o remetente.');
  document.remete.de.focus();
  return false;
	}

	if (document.remete.assunto.value.length == 0)
	{
  alert('Digite o assunto.');
  document.remete.assunto.focus();
  return false;
	}

	if (document.remete.corpo.value.length <= 10)
	{
  alert('Digite o texto.');
  document.remete.corpo.focus();
  return false;
	}

	return true;
}
</SCRIPT>

<body onload="document.remete.from.focus();">
<center>

<table width="300" height="321" border=0 CELLPADDING=2 CELLSPACING=0>
<form name="remete" action="" method="POST" OnSubmit="return TestaCampos()" 

ENCTYPE="multipart/form-data">

<tr><td colspan="2" bgcolor="#336699">
    <div align="center"><font color="ffffff" size="2" face="Verdana, Arial, Helvetica, 

sans-serif"><strong>     &nbsp;
Envio de Foto por Email  </strong></font>
    </div></td>
</tr>
<tr bgcolor="#F7F7F7">
  <td height="26"> <font face="Arial,Helvetica">
    <p align="left"> <strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Seu
        Nome</font>&nbsp;&nbsp; </strong> </p>
  </font> </td>
  <td height="26" align=center> <font face="Arial,Helvetica">
    <input name="de_nome"  SIZE="20">
  </font></td>
</tr>

<tr bgcolor="#F7F7F7"><td width="63" height="26">
	<font face="Arial,Helvetica">
    	<p align="left">
         <strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Seu
         Email:</font>&nbsp;&nbsp;
         </strong>
       </p>
	</font>
     </td>
	<td width="229" height="26" align=center>
	<font face="Arial,Helvetica">
	<input name="de" SIZE="20">
	</font></td>
</tr>
<tr bgcolor="#F7F7F7">
  <td height="26"><font face="Arial,Helvetica">
    <p align="left"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Nome
          Amigo</font></strong></p>
  </font></td>
  <td height="26" align=center> <font face="Arial,Helvetica">
    <input name="para_nome"  value="" SIZE="20">
  </font></td>
</tr>


<tr bgcolor="#F7F7F7"><td height="26"><font face="Arial,Helvetica">
  <p align="left"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Email
        Amigo</font></strong></p>
</font></td>
	<td height="26" align=center>
	<font face="Arial,Helvetica">
	<input name="para"  value="" SIZE="20">
	</font></td>
</tr>

<tr bgcolor="#F7F7F7"><td height="120">
	<font face="Arial, Helvetica">
	<p align="left"><? echo"<img src='fotos/$foto' width='100' height='75' border='0'>"; ?>
     <strong> </strong>
    </p></font></td>

	<td height="120" align=center valing="top">
	<font face="Arial,Helvetica">&nbsp;	</font><font face="Arial, 

Helvetica"><strong><font size="1" face="Verdana, Arial, Helvetica, 

sans-serif">&nbsp;&nbsp;Coment&aacute;rio: </font></strong></font><font face="Arial,Helvetica">
	<TEXTAREA name="corpo" rows="5" cols="26"></TEXTAREA>
	</font></td>
</tr>

<tr bgcolor="#F7F7F7"><td height="40">
	<font face="Arial,Helvetica">
    	<p align="left">
         <strong>
         <input type="hidden" name="foto_anexo" value="<? echo"$foto";?>">
	<input type="hidden"  name="assunto" size="30" value="Envio de Foto <? echo"$nome_site"; 

?>"> 
         </strong>
       </p></font>
     </td>
	<td height="40" align=center>
	<font face="Arial,Helvetica">&nbsp;	</font></td>
</tr>

<tr bgcolor="#F7F7F7">
	<td height="52" colspan="2" align=center>
    <center>
	<INPUT type="submit" name="Enviar" value="Enviar">
    &nbsp;&nbsp;
	<input type="reset" value="Limpar">
    &nbsp;&nbsp;
   <input type="button" name="Enviar" value="Voltar" onclick="submit()">
    </center>
	</td>
</tr>


     <input type="hidden" name="acao" value="anexar">
     <input type="hidden" name="Submit" value="entrar">

<tr align="center">
  <td colspan="2" bgcolor="#336699">
    <font color="ffffff" size="1" face="Verdana, Arial, Helvetica, sans-serif" align=right>     

Desenvolvido por: <strong>Eduardo
    Amorim</strong>&nbsp;&nbsp;    </font>
    </td>
</tr>

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