hola laura: podes usar la clase phpMailer
eso solamente para mandar el email mas facil y mas ordenado, despues el tema del formulario no es tan complicado ya que solamente le vas a enviar el path del archivo, podrias hacer algo similiar a esto:
Código PHP:
//generamos el formulario para la recoleccion de datos a enviar
$form = '
<form method="post" action="mail.php">
<div class="contenMail">
<div class="header">
<div class="rows>
Introduzca la direccion del archivo a Adjuntar</br>
<input type="text" name="pathAttach">
</div>
</div>
<div class="MailBody">
<div class="editBar">
'.loadMenuBar('all').'
</div>
<div class="Body">
<TEXTAREA cols="42" rows="25" name="bodyMsj"></TEXTAREA>
</div>
</div>
<div class="footerBar">
<input type="submit" name="Send" value="Enviar">
</div>
</div>
</form>';
echo $form;
y desde mail.php
Código PHP:
if($_POST['Send']){
//recogemos los datos
$fileAttach = $_POST['pathAttach'];
$msgArea = $_POST['bodyMsj'];
$subjet = 'Probando'; // esta info tendria que venir del form
$mailToSend = '[email protected]';
// si no se especifico un archivo adjunto cargamos uno por defecto
if($fileAttach == ''){
$fileAttach = 'direccionAbsoluta/pathFile/test.pdf';
}
include("../class.phpmailer.php");
$mail = new PHPMailer();
$mail->Mailer = "smtp";
//generamos el mensaje que vamos a enviar:
$msg = '
<html>
<body>
'.$msgArea.'
</body>
</html>';
$mail->AddAttachment($fileAttach):
$mail->FromName = 'Mi Servidor';
$mail->AddAddress($mailToSend);
$mail->IsHTML(true); // Activado para mandar html
$mail->Subject = $subjet;
$mail->Body = $msg;
$mail->AltBody = $msgArea; //si no soporta html el cliente de correo del receptor mostrara esto
if(!$mail->Send())
{
echo "El mensaje no se pudo enviar. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
}