tengo un problema que me lleva un par de días de cabeza, el tema es el siguiente:
Tengo un formulario que envía dos campos y un archivo adjunto, hasta hay todo va bien, y lo envia correctamente, pero antes de recibir el email correcto recibo uno en blanco, e inmediatamente después el correcto con el adjunto.
Llevo un par de días dandole vueltas e investigando por ahi pero no doi con la solución para evitar que me envia el email en blanco, gracias de amntemano.
Código:
$emailDestination = "[email protected]"; $emailOrigin="[email protected]"; $nameEmailOrigin = "Mi empresa"; $subject=$_POST[titulo]; $message=$_POST[cuerpo]; $docList = 'image/gif,image/jpeg,image/jpg,image/pjpeg,image/x-png,application/msword,application/rtf,text/plain,application/octet-stream,application/pdf'; if (is_uploaded_file($_FILES['adjunto']['tmp_name']) && eregi($_FILES['adjunto']['type'],$docList)){ $nameFile = $_FILES['adjunto']['tmp_name']; $file = fopen($nameFile, "r"); $contenido = fread($file, filesize($nameFile)); $encoded_attach = chunk_split(base64_encode($contenido)); fclose($file); } $headers = "From: ". $nameEmailOrigin . " <". $emailOrigin .">\n"; $headers .= "Reply-To: $emailDestination\n"; $headers .= "MIME-version: 1.0\n"; $headers .= "Content-type: multipart/mixed; "; $headers .= "boundary=\"Message-Boundary\"\n"; $headers .= "Content-transfer-encoding: 7BIT\n"; $headers .= "X-attachments: ". $_FILES['adjunto']['name']; $body_top = "--Message-Boundary\n"; $body_top .= "Content-type: text/html; charset=UTF-8\n"; $body_top .= "Content-transfer-encoding: 7BIT\n"; $body_top .= "Content-description: Mail message body\n\n"; $body = $body_top; if (is_uploaded_file($_FILES['adjunto']['tmp_name']) && eregi($_FILES['adjunto']['type'],$docList)){ $body .= $message; $body .= "\n\n--Message-Boundary\n"; $body .= "Content-type: Binary; name=\"". $_FILES['adjunto']['name'] ."\"\n"; $body .= "Content-Transfer-Encoding: BASE64\n"; $body .= "Content-disposition: attachment; filename=\"". $_FILES['adjunto']['name'] ."\"\n\n"; $body .= "$encoded_attach\n"; $body .= "--Message-Boundary--\n"; } //comprobamos que el email se envia correctamente if(mail($emailDestination,$subject,$body,$headers)){ $resultado="Tu boletín ha sido enviado correctamente.<br/><br/>"; if(!eregi($_FILES['adjunto']['type'],$docList)){ $resultado .="<br/><br/>El tipo de archivo que deseas enviar no esta permitido.<br/><br/>"; echo("<hr><br/><br/>"); } }else{ $resultado .= "Si tienes problemas al enviar el contacta con el administrador.<br/><br/>"; }