Foros del Web » Programando para Internet » PHP »

Mandar mail con archivo adjunto

Estas en el tema de Mandar mail con archivo adjunto en el foro de PHP en Foros del Web. Hola a todos: Tengo un codigo que genera una copia de seguridad de una bd en mysql que es el siguiente: <? $filename = date("Ymd-Hi"); ...
  #1 (permalink)  
Antiguo 20/04/2006, 17:32
 
Fecha de Ingreso: diciembre-2005
Mensajes: 88
Antigüedad: 12 años
Puntos: 0
Mandar mail con archivo adjunto

Hola a todos:

Tengo un codigo que genera una copia de seguridad de una bd en mysql que es el siguiente:
<?
$filename = date("Ymd-Hi");
$filename = $filename.".sql";
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$filename");
$usuario="root";
$passwd="";
echo $filename;
$bd="base de datos";
$executa = "c:\\wamp\\mysql\\bin\\mysqldump.exe -u $usuario --password=$passwd --opt $bd";
system($executa, $resultado);
?>
(lo he sacado del foro)
La cosa es que me genera un archivo *.sql que quiero mandarlo mediante la funcion mail() a un correo electronico.

Como puedo hacer para que el archivo generado, se guarde en una carpeta y al pulsar un boton de formulario, se añada dicho archivo como dato adjunto a un mail que envie.

PD: el uso de la funcion mail lo se, lo que no se es como adjuntarle archivos.
  #2 (permalink)  
Antiguo 20/04/2006, 20:37
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

Podrias usar phpmailer
echale uno ojo a este post http://www.forosdelweb.com/showthrea...untar+archivos
  #3 (permalink)  
Antiguo 21/04/2006, 23:08
Avatar de marianocovatti  
Fecha de Ingreso: agosto-2005
Mensajes: 17
Antigüedad: 12 años, 4 meses
Puntos: 0
Este es el codigo para mandar mails con archivos adjuntos

<?php

$fileatt = "$archivo"; // Path to the file
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
$filename = $fileatt




$fileatt_type = "application/octet-stream"; // File Type
$fileatt_name = "$archivo"; // Filename that will be used for the file as the attachment

$email_from = "$email1"; // Who the email is from
$email_subject = "Subject del mensaje"; // The Subject of the email
$email_message = "Cuerpo del mensaje."; // Message that the email has in it

$email_to = "$email2"; // Who the email is to

$headers = "From: ".$email_from;

$file = fopen($filename, "rb");
$data = fread($file,filesize($filename));
fclose($file);

$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

$headers .= "nMIME-Version: 1.0n" .
"Content-Type: multipart/mixed;n" .
" boundary="{$mime_boundary}"";

$email_message = "This is a multi-part message in MIME format.nn" .
"--{$mime_boundary}n" .
"Content-Type:text/html; charset="iso-8859-1"n" .
"Content-Transfer-Encoding: 7bitnn" .
$email_message . "nn";

$data = chunk_split(base64_encode($data));

$email_message .= "--{$mime_boundary}n" .
"Content-Type: {$fileatt_type};n" .
" name="{$fileatt_name}"n" .
//"Content-Disposition: attachment;n" .
//" filename="{$fileatt_name}"n" .
"Content-Transfer-Encoding: base64nn" .
$data . "nn" .
"--{$mime_boundary}--n";

$ok = @mail($email_to, $email_subject, $email_message, $headers);
@unlink($fileatt);
if($ok) {
echo "<font face=verdana size=2>$archivo enviado!</font>";
} else {
die("Sorry but the email could not be sent. Please go back and try again!");
}
?>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:11.