Ir para conteúdo

Arquivado

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

Thiago Duarte

Enviar arquivo com upload para email em anexo

Recommended Posts

<form method="POST" action="enviar.php" enctype="multipart/form-data">

			<p align="center"><input type="file" name="arquivo" id="arquivo" size="30"></p>
			<p align="center"><input type="submit" value="Enviar" name="B1">  
			<input type="reset" value="Desfazer" name="B2"></p>

</form>

<?php

$arquivo = $_FILES['arquivo'];


$destino = realpath("anexos")."\\".$arquivo['name']; 
if(move_uploaded_file($arquivo["tmp_name"],$destino))
   {

$headers = "Content-type:text/html; charset=iso-8859-1\n From:".$post["curriculo"];
    mail('thiago_db@hotmail.com',"Curriculo".$arquivo["name"],$headers);
echo "<script>window.location.href='confirma.html'</script>";

   }
else{
echo "Ocorreu um Erro durante o Envio";
}

?>

 

o arqivo anexado não chega no meu email, onde errei ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, eu não sei o mime type de todos os tipos de arquivos

pra você enviar imagens por email, você usa um base64, é manda um html com a tag imagem

assim:

<img src="data:image/png;base64,base64 da imagem" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca vai chegar kara, você tem que codificar ele pra base64

Não é simplesmente enviar o que você fez upload ..

Tenta enviar uma imagem dessa forma aqui:

<!doctype html>
<html>
   <head>
       <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
   </head>
   <body>
       <fieldset>
           <form method="post" enctype="multipart/form-data">
               <label for="Arquivo">Arquivo:</label>
               <input type="file" name="arquivo" />
               <input type="submit" name="enviar" value="Enviar"/>
           </form>
       </fieldset>
       <?php
           if( isset( $_POST['enviar'] ) ){

               $assunto = 'Seu assunto';
               $remetente = 'Remetente';
               $destinatario = 'Destinatario';
               $headers = implode ( '\n', Array( 
                                           "From: $remetente", 
                                           "Reply-To: $destinatario",
                                           "Subject: $assunto",
                                           "Return-Path:  $remetente",
                                           "MIME-Version: 1.0",
                                           "X-Priority: 3",
                                           "Content-Type: text/html; charset=iso-8859-1" ) );
               $Arquivo = $_FILES[ 'arquivo' ];
               $DirUpload = $_SERVER[ 'DOCUMENT_ROOT' ].'dev/'.$Arquivo[ 'name' ];
               $MimeType = $Arquivo[ 'type' ];
               if( move_uploaded_file( $Arquivo[ 'tmp_name' ], $DirUpload ) ){
                   $Base64 = base64_encode( file_get_contents( $DirUpload ) );
                   $conteudo = '<html>';
                     $conteudo .= '<body>';
                       $conteudo = ' <img src="data:'.$MimeType.';base64,'.$Base64.'" />';
                     $conteudo .= '</body>'; 
                   $conteudo .= '</html>';
                   unlink( $DirUpload ); // Remove o arquivo depois de pegar o base64 dele
                   if( mail( $destinatario, $assunto, nl2br( $conteudo ), $headers ) ){
                       echo 'Enviado com sucesso...';
                   }else{
                       echo 'Falha no envio ..';
                   }
               }

           }
       ?>
   </body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Warning: move_uploaded_file(/home/stampdes/public_htmldev/Curriculo_Thiago.doc) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/stampdes/public_html/primo/enviar1.php on line 30

 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpZZBLb0' to '/home/stampdes/public_htmldev/Curriculo_Thiago.doc' in /home/stampdes/public_html/primo/enviar1.php on line 30

 

da esse erro ai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não tem o diretorio criado ;)

Troque a seguinte linha:

$DirUpload = $_SERVER[ 'DOCUMENT_ROOT' ].'dev/'.$Arquivo[ 'name' ];

Por:

$DirUpload = $_SERVER[ 'DOCUMENT_ROOT' ].'/'.$Arquivo[ 'name' ];

Compartilhar este post


Link para o post
Compartilhar em outros sites

<!doctype html>
<html>
   <head>
       <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
   </head>
   <body>
       <fieldset>
           <form method="post" enctype="multipart/form-data">
               <label for="Arquivo">Arquivo:</label>
               <input type="file" name="arquivo" />
               <input type="submit" name="enviar" value="Enviar"/>
           </form>
       </fieldset>
       <?php
           if( isset( $_POST['enviar'] ) ){

               $assunto = 'Seu assunto';
               $remetente = 'Remetente';
               $destinatario = 'thiago_db@hotmail.com';
               $headers = implode ( '\n', Array( 
                                           "From: $remetente", 
                                           "Reply-To: $destinatario",
                                           "Subject: $assunto",
                                           "Return-Path:  $remetente",
                                           "MIME-Version: 1.0",
                                           "X-Priority: 3",
                                           "Content-Type: text/html; charset=iso-8859-1" ) );
               $Arquivo = $_FILES[ 'arquivo' ];
               $DirUpload = $_SERVER[ 'DOCUMENT_ROOT' ].'/'.$Arquivo[ 'name' ];
               $MimeType = $Arquivo[ 'type' ];
               if( move_uploaded_file( $Arquivo[ 'tmp_name' ], $DirUpload ) ){
                   $Base64 = base64_encode( file_get_contents( $DirUpload ) );
                   $conteudo = '<html>';
                     $conteudo .= '<body>';
                       $conteudo = ' <img src="data:'.$MimeType.';base64,'.$Base64.'" />';
                     $conteudo .= '</body>'; 
                   $conteudo .= '</html>';
                   unlink( $DirUpload ); // Remove o arquivo depois de pegar o base64 dele
                   if( mail( $destinatario, $assunto, nl2br( $conteudo ), $headers ) ){
                       echo 'Enviado com sucesso...';
                   }else{
                       echo 'Falha no envio ..';
                   }
               }

           }
       ?>
   </body>
</html>

 

Warning: move_uploaded_file(uploads/Curriculo_Thiago.doc) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/stampdes/public_html/primo/enviar.php on line 7

 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php17fMnw' to 'uploads/Curriculo_Thiago.doc' in /home/stampdes/public_html/primo/enviar.php on line 7

There was an error uploading the file, please try again!

 

ta dando erro, olha

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim

 

coloquei no diretorio principal e funciono, mas ao inves de chegar o arquivo anexado, chego isso:

 

<img src="data:application/msword;base64,0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAANAAAAAAAAAAAEAAANgAAAAEAAAD+////AAAAADMAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////spcEAOSAWBAAA8BK/AAAAAAAAEAAAAAAABAAA5QkAAA4AYmpiav3P/c8AAAAAAAAAAAAAAAAAAAAAAAAWBBYAIhYAAJ+lAACfpQAA5QUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAD/////////////////////////////////////////////////////

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu não sei quais os mime type que você pode codificar e obter um resultado..

Mais é estranho, eu consegui enviar o e-mail normalmente com esse script, quando você envia

o arquivo e submete o formulário aparece isso é não envia nada ?

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.