Jump to content


Juliano Kamoi

Member Since 12/09/2009
Offline Last Active 25/10/2009, 01:37
-----

Posts I've Made

In Topic: Enviar E-Mail Com Anexo (Atualizado!)

15/09/2009, 01:17

Paulo André, muito obrigado pela sua atenção! Poucos respondem à própria postagem em qualquer fórum que seja. Estou aqui denovo, pois fiz algumas modificações como vc havia me dito, porém, como sou iniciante, acredito que faltou modificar algo, pois quando envio, aparece a mensagem "O arquivo1 não existe: Mensagem enviada! " e chega à minha caixa de emails, somente o subject e a mensagem, uma vez que o anexo não chega. Já tentei de tudo, para ver se era o tipo do arquivo ou o tamanho, mas não é nenhum desses pontos. Por favor, contando mais uma vez com a sua ajuda e paciência, Peço que dê uma olhadinha abaixo, e veja o que faltou modificar... Mais uma vez Obrigado!

<?php
if ($_POST['action'] != "upload")
{


print '
<FORM METHOD="post"  ENCTYPE="multipart/form-data">
<INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="1000000">
<INPUT TYPE="hidden" NAME="action" VALUE="upload">
<TABLE BORDER="1">

  <TR>
   <TD>De: </TD>
   <TD><input type="text" name="from" size=40><BR></TD>
  </TR>

<TR>
   <TD>Para: </TD>
   <TD><input type="text" name="to" size=40><BR></TD>
  </TR

<TR>
   <TD>Assunto: </TD>
   <TD><input type="text" name="subject" size=40><BR></TD>
  </TR

<TR>
   <TD>Cc: </TD>
   <TD><input type="text" name="cc" size=40><BR></TD>
  </TR

<TR>
   <TD>Bcc: </TD>
   <TD><input type="text" name="bcc" size=40><BR></TD>
  </TR


  <TR>
   <TD>Mensagem: </TD>
   <TD><TEXTAREA NAME="body" ROWS="10" COLS="50"></TEXTAREA></TD>
  </TR>

  <TR>
   <TD>Anexo: </TD>
   <TD><INPUT TYPE="file" NAME="anexo"></TD>
  </TR>

  <TR>
   <TD COLSPAN="2"><INPUT TYPE="submit" VALUE="Enviar"></TD>
  </TR>
</TABLE>
</FORM>
';
}

if ($_POST['action'] == "upload")

{
$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";
$message .= $_POST['body'];
$message .= "\n";
$anexo = $_FILES['anexo'];
$attachments[1] = $anexo;

foreach ($attachments as $key => $full_path) {
if ($full_path !='') {
		   if (file_exists($full_path)){
						 if ($fp = fopen($full_path,"rb")) {
										 $filename = array_pop(explode(chr(92),$full_path));
										 $contents = fread($fp,filesize($full_path));
										 $encoded = base64_encode($contents);
										 $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 "Impossível abrir o arquivo$key: $filename";
						 $ABORT = TRUE;
						 }
		   }
		   else {
		   echo "O arquivo$key não existe: $filename";
		   $ABORT = TRUE;
		   }

}
}

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

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


$mensagem=mail($_POST['to'], $_POST['subject'], $message, $headers);
if ($mensagem) {
		print "Mensagem enviada!";

} else {
		print "O envio da mensagem falhou!";
}

}
?>

In Topic: Enviar E-Mail Com Anexo (Atualizado!)

12/09/2009, 16:04

Paulo André, eu baixei o arquivo "anexo.php" que você postou, e sem modificar nada fiz o upload no servidor que hospedo meu site de testes, mas não deu certo. O formulário aparece direitinho, eu preencho tudo e quando envio, nada chega em minha caixa de e-mail. Será porque eu uso o "gmail"? Se for, o que devo fazer para que os arquivos enviados por esse formulário cheguem com sucesso em minha caixa de e-mails do gmail? Pode haver algum problema no servidor? Fico agradecido desde já!

IPB Skin By Virteq