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

Enviar e-mail com arquivo anexado


Leviss

Pergunta

Olás!

Estou tentando fazer um formulário para enviar e-mail com dois arquivos anexados (os arquivos são enviados ao meu e-mail pessoal). Copiei o código na net e tentei adaptar ao meu formulário de enviar email. O máximo que consegui receber em anexo foi um arquivo txt em branco. Alguém poderia me dar alguma dica de como faço para receber arquivos anexados no meu e-mail? Sei muito pouco de php!

Form.htm

<form action="anuncio.php" method="post" enctype="multipart/form-data" >

<input type=TEXT name="nome" size=25>

<input type=TEXT name="email" size=25>

<input type=TEXT name="tipol" size=25>

<input type=TEXT name="titulo" size=25>

<textarea cols="45" rows="5" name="anuncio"></textarea>

<input type="file" name="imagem1">

<input type="file" name="imagem2">

<input type="submit" name="Submit" value=" Enviar ">

</form>

anuncio.php

<?

$nome = strip_tags( trim( $_POST['nome']));

$email = strip_tags( trim( $_POST['email']));

$tipo = strip_tags( trim( $_POST['tipo']));

$titulo = strip_tags( trim( $_POST['titulo']));

$anuncio = strip_tags( trim( $_POST['anuncio']));

$cabecalho = sprintf('From: %s <email@emal.com >', $nome);

$corpo = sprintf( 'Nome: %s, E-mail %s,

Tipo: %s

Título do anúncio: %s

Anúncio: %s', $nome, $email, $tipo, $titulo, $anuncio);

// aqui começa o código que copiei na net

$mailheaders = "From: $cabecalho\n";

$mailheaders .= "Reply-To: $cabecalho\n";

$mailheaders .= "Cc: $cabecalho\n";

$mailheaders .= "Bcc: $cabecalho\n";

$mailheaders .= "X-Mailer: Script para enviar arquivo atachado\n";

$msg_body = stripslashes($corpo);

$subject = "Novo Anúncio";

$attach = "imagem1"; // essa linha eu incluí

$attach .= "imagem2"; // essa linha eu incluí

if ($attach != "none")

{

$file = fopen($attach, "r");

$contents = fread($file, $attach_size);

$encoded_attach = chunk_split(base64_encode($contents));

fclose($file);

$mailheaders .= "MIME-version: 1.0\n";

$mailheaders .= "Content-type: multipart/mixed; ";

$mailheaders .= "boundary=\"Message-Boundary\"\n";

$mailheaders .= "Content-transfer-encoding: 7BIT\n";

$mailheaders .= "X-attachments: $attach_name";

$body_top = "--Message-Boundary\n";

$body_top .= "Content-type: text/plain; charset=US-ASCII\n";

$body_top .= "Content-transfer-encoding: 7BIT\n";

$body_top .= "Content-description: Mail message body\n\n";

$msg_body = $body_top . $msg_body;

$msg_body .= "\n\n--Message-Boundary\n";

$msg_body .= "Content-type: $attach_type; name=\"$attach_name\"\n";

$msg_body .= "Content-Transfer-Encoding: BASE64\n";

$msg_body .= "Content-disposition: attachment; filename=\"$attach_name\"\n\n";

$msg_body .= "$encoded_attach\n";

$msg_body .= "--Message-Boundary--\n";

}

/* Associa à variável $mail a função mail() */

$mail = mail( "email@email.com", stripslashes($subject), $msg_body, $mailheaders);

// aqui termina o código que copiei na net

if ($mail==1) {

// o servidor recebeu a requisição corretamente

header("location:sucesso.htm");

} else {

// Erro !!!

header("location:error.htm");

}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

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,2k
    • Posts
      652k
×
×
  • Criar Novo...