Tengo un codigo que me envia un mail a la cuenta que le indico pero me adjunta mal el fichero porque?
No tengo inconveniente en modificar o poner otro script si alguien tiene alguno que marche y envie correos con fichero adjuntos con mucho gusto lo cambio.
Código PHP:
<?
$UN_SALTO="\r\n";
$DOS_SALTOS="\r\n\r\n";
$destinatario="[email protected]";
$titulo="Mensaje con un fichero adjunto";
$mensaje="<html><head></head><body bgcolor=\"#0000ff\">";
$mensaje .="<font face=\"Arial\" size=6>Prueba HTML </font>";
$mensaje .="</body></html>";
$responder="[email protected]";
$remite="[email protected]";
$remitente="Juan el del molin te envia un ficherín";
$separador = md5 (uniqid (rand()));
$cabecera = "Date: ".date("l j F Y, G:i").$UN_SALTO;
$cabecera .= "MIME-Version: 1.0".$UN_SALTO;
$cabecera .= "From: ".$remitente."<".$remite.">".$UN_SALTO;
$cabecera .= "Return-path: ". $remite.$UN_SALTO;
$cabecera .= "Reply-To: ".$remite.$UN_SALTO;
$cabecera .="X-Mailer: PHP/". phpversion().$UN_SALTO;
$cabecera .= "Content-Type: multipart/mixed;".$UN_SALTO;
$cabecera .= " boundary=$separador".$DOS_SALTOS;
// Parte primera -Mensaje en formato HTML
# Separador inicial
$texto =$UN_SALTO;
# Encabezado parcial
$texto .="Content-Type: text/html; charset=\"ISO-8859-15\"".$UN_SALTO;
$texto .="Content-Transfer-Encoding: 7bit".$DOS_SALTOS;
# Contenido de esta parte del mensaje
$texto .= $mensaje;
# Separador de partes
$adj1 = $UN_SALTO.$UN_SALTO;
// Parte segunda -Fichero adjunto nº 1
# Encabezado parcial
$adj1 .="Content-Type: Aplicacion/pdf; name=\"doc_word.pdf\"".$UN_SALTO;
$adj1 .="Content-Disposition: inline; filename=\"doc_word.pdf\"".$UN_SALTO;
$adj1 .="Content-Transfer-Encoding: base64".$DOS_SALTOS;
# lectura del fichero adjunto
$fp = fopen("doc_word.pdf", "r");
$buff = fread($fp, filesize("doc_word.pdf"));
fclose($fp);
# codificación del fichero adjunto
$adj1 .=chunk_split(base64_encode($buff));
# Separador de partes
$adj1 = $UN_SALTO.$UN_SALTO;
// Unión de las diferentes partes para crear
// el cuerpo del mensaje
$mensaje=$texto.$adj1;
// envio del mensaje
if( mail($destinatario, $titulo, $mensaje,$cabecera)){
echo "mensaje enviado";
}
?>