Cita:
<?php
//Variable que controlará si se han copiado correctamente los adjuntos al directorio correcto del servidor.
$copia= TRUE;
//Directorio de destino de los ficheros.
$dir_destino="upload/";
//Tamaño máximo de los ficheros.
$MAX_SIZE = 500000;
//Tipos y Extensiones permitidas para los archivos.
$FILE_MIMES = array('image/jpeg','image/jpg','image/gif'
,'image/png','application/msword','application/pdf'
,'application/mspowerpoint','application/x-gzip','application/x-gtar'
,'application/x-tar');
//Nombres de extensiones permitidas.
$FILE_EXTS = array('.zip','.jpg','.png','.gif','.doc','.pdf','. pps'
,'.ppt','.gz','.gzip','gtar','.tar');
//Permite borrado de ficheros.
$DELETABLE = true;
(...)
// primero hay que incluir la clase phpmailer para poder instanciar
//un objeto de la misma
require ("includes/class.phpmailer.php");
//instanciamos un objeto de la clase phpmailer al que llamamos
//por ejemplo mail
$mail = new phpmailer();
$mail->IsSMTP();
//Definimos las propiedades y llamamos a los métodos
//correspondientes del objeto mail
//Con PluginDir le indicamos a la clase phpmailer donde se
//encuentra la clase smtp que como he comentado al principio de
//este ejemplo va a estar en el subdirectorio includes
$mail->PluginDir = "includes/";
//Con la propiedad Mailer le indicamos que vamos a usar un
//servidor smtp
$mail->Mailer = "smtp";
//Asignamos a Host el nombre de nuestro servidor smtp
$mail->Host = 'smtp.xxxxxxxxx.xx';
$mail->Port = 25;
//Le indicamos que el servidor smtp requiere autenticación
$mail->SMTPAuth = true;
//$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
//Le decimos cual es nuestro nombre de usuario y password
$mail->Username = "XXXXXXXXX";
$mail->Password = "xxxxxxx";
//Indicamos cual es nuestra dirección de correo y el nombre que
//queremos que vea el usuario que lee nuestro correo
$mail->From = "[email protected]";
$mail->FromName = "xxxxxxxxxxxxxxxxxxxxxxx";
//el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar
//una cuenta gratuita, por tanto lo pongo a 30
$mail->Timeout=60;
//Indicamos cual es la dirección de destino del correo
$mail->AddAddress("[email protected]");
//Se define el cuerpo del mensaje que aparece en pantalla, una vez se ha realizado la inserción
//de I/P/C/B. Posteriormente, se envía al remitente un correo con la información que se ha
//suministrado en la página de envío.
$mensaje="<h1 align=\"center\">GRACIAS</h1><br /><h2>Su ".' '.$tipo." será atendida a la mayor brevedad</h2>";
$mensaje.="<br /><br /><br /><br />";
$mensaje.="<h3 color=\"red\">Este es un mensaje generado automáticamente por el sistema</h3><br /></h3>";
$mensaje.="<h3 color=\"red\">En breve, recibirá un correo con la confirmación de su ".' '.$tipo."</h3><br />";
$mensaje.="<p> <div align=\"right\">Agradeciendo su confianza, reciba un cordial saludo.<br />";
$mensaje.="<br /><br />".$enlace;
echo $mensaje;
//Asignamos asunto y cuerpo del mensaje
//El cuerpo del mensaje lo ponemos en formato html, haciendo
//que se vea en negrita
$mail->Subject = "Nueva ".$tipo." recibida. Servicio: ".$_SESSION['user'];
$mail->Body = $plantilla;
//Definimos AltBody por si el destinatario del correo no admite email con formato html
$mail->AltBody = "Mensaje de prueba mandado con phpmailer en formato solo texto";
//se envia el mensaje, si no ha habido problemas
//la variable $exito tendra el valor true
$exito = $mail->Send();
//Si el mensaje no ha podido ser enviado se realizaran 2 intentos mas como mucho
//para intentar enviar el mensaje, cada intento se hara 5 segundos despues
//del anterior, para ello se usa la funcion sleep
$intentos=3;
while ((!$exito) && ($intentos < 1)) {
sleep(5);
$intentos=$intentos+1;
}
if(!$exito)
{
echo "Problemas enviando correo electrónico a ".$valor;
echo "<br>".$mail->ErrorInfo;
}
else
{
echo "Mensaje enviado correctamente";
//Se usará, por defecto, la carpeta UPLOADS existente en el directorio PHP
//dentro del servidor web.
//Se comprueba si se ha introducido información en los cuadros de texto.
for ($i=0;$i<3;$i++){
if ($HTTP_POST_FILES['ufile']['name'][$i]!="")
{
//Se indica la ruta final donde se copiarán los objetos en el servidor.
$path= $dir_destino.$HTTP_POST_FILES['ufile']['name'][$i];
echo $path;
//Instrucción de copiado de ficheros.
//copy($HTTP_POST_FILES['ufile']['tmp_name'][$i], $path);
$res=move_uploaded_file($HTTP_POST_FILES['ufile']['tmp_name'][$i], $path);
echo $res;
}
}
//-------------------------------------------------------------------------
// -
// Comprobamos que no se ha producido ningún error al subir los ficheros -
// -
//-------------------------------------------------------------------------
$filesize1=$HTTP_POST_FILES['ufile']['size'][0];
$filesize2=$HTTP_POST_FILES['ufile']['size'][1];
$filesize3=$HTTP_POST_FILES['ufile']['size'][2];
for ($i=0;$i<3;$i++)
{
if($HTTP_POST_FILES['ufile']['name'][$i]!="" && $HTTP_POST_FILES['ufile']['size'][$i] != 0)
{
echo "ERROR -201: no se han recibido correctamente los ficheros";
}
}
}//Del else que controla si se ha realizado el envío correctamente.
?>
//Variable que controlará si se han copiado correctamente los adjuntos al directorio correcto del servidor.
$copia= TRUE;
//Directorio de destino de los ficheros.
$dir_destino="upload/";
//Tamaño máximo de los ficheros.
$MAX_SIZE = 500000;
//Tipos y Extensiones permitidas para los archivos.
$FILE_MIMES = array('image/jpeg','image/jpg','image/gif'
,'image/png','application/msword','application/pdf'
,'application/mspowerpoint','application/x-gzip','application/x-gtar'
,'application/x-tar');
//Nombres de extensiones permitidas.
$FILE_EXTS = array('.zip','.jpg','.png','.gif','.doc','.pdf','. pps'
,'.ppt','.gz','.gzip','gtar','.tar');
//Permite borrado de ficheros.
$DELETABLE = true;
(...)
// primero hay que incluir la clase phpmailer para poder instanciar
//un objeto de la misma
require ("includes/class.phpmailer.php");
//instanciamos un objeto de la clase phpmailer al que llamamos
//por ejemplo mail
$mail = new phpmailer();
$mail->IsSMTP();
//Definimos las propiedades y llamamos a los métodos
//correspondientes del objeto mail
//Con PluginDir le indicamos a la clase phpmailer donde se
//encuentra la clase smtp que como he comentado al principio de
//este ejemplo va a estar en el subdirectorio includes
$mail->PluginDir = "includes/";
//Con la propiedad Mailer le indicamos que vamos a usar un
//servidor smtp
$mail->Mailer = "smtp";
//Asignamos a Host el nombre de nuestro servidor smtp
$mail->Host = 'smtp.xxxxxxxxx.xx';
$mail->Port = 25;
//Le indicamos que el servidor smtp requiere autenticación
$mail->SMTPAuth = true;
//$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
//Le decimos cual es nuestro nombre de usuario y password
$mail->Username = "XXXXXXXXX";
$mail->Password = "xxxxxxx";
//Indicamos cual es nuestra dirección de correo y el nombre que
//queremos que vea el usuario que lee nuestro correo
$mail->From = "[email protected]";
$mail->FromName = "xxxxxxxxxxxxxxxxxxxxxxx";
//el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar
//una cuenta gratuita, por tanto lo pongo a 30
$mail->Timeout=60;
//Indicamos cual es la dirección de destino del correo
$mail->AddAddress("[email protected]");
//Se define el cuerpo del mensaje que aparece en pantalla, una vez se ha realizado la inserción
//de I/P/C/B. Posteriormente, se envía al remitente un correo con la información que se ha
//suministrado en la página de envío.
$mensaje="<h1 align=\"center\">GRACIAS</h1><br /><h2>Su ".' '.$tipo." será atendida a la mayor brevedad</h2>";
$mensaje.="<br /><br /><br /><br />";
$mensaje.="<h3 color=\"red\">Este es un mensaje generado automáticamente por el sistema</h3><br /></h3>";
$mensaje.="<h3 color=\"red\">En breve, recibirá un correo con la confirmación de su ".' '.$tipo."</h3><br />";
$mensaje.="<p> <div align=\"right\">Agradeciendo su confianza, reciba un cordial saludo.<br />";
$mensaje.="<br /><br />".$enlace;
echo $mensaje;
//Asignamos asunto y cuerpo del mensaje
//El cuerpo del mensaje lo ponemos en formato html, haciendo
//que se vea en negrita
$mail->Subject = "Nueva ".$tipo." recibida. Servicio: ".$_SESSION['user'];
$mail->Body = $plantilla;
//Definimos AltBody por si el destinatario del correo no admite email con formato html
$mail->AltBody = "Mensaje de prueba mandado con phpmailer en formato solo texto";
//se envia el mensaje, si no ha habido problemas
//la variable $exito tendra el valor true
$exito = $mail->Send();
//Si el mensaje no ha podido ser enviado se realizaran 2 intentos mas como mucho
//para intentar enviar el mensaje, cada intento se hara 5 segundos despues
//del anterior, para ello se usa la funcion sleep
$intentos=3;
while ((!$exito) && ($intentos < 1)) {
sleep(5);
$intentos=$intentos+1;
}
if(!$exito)
{
echo "Problemas enviando correo electrónico a ".$valor;
echo "<br>".$mail->ErrorInfo;
}
else
{
echo "Mensaje enviado correctamente";
//Se usará, por defecto, la carpeta UPLOADS existente en el directorio PHP
//dentro del servidor web.
//Se comprueba si se ha introducido información en los cuadros de texto.
for ($i=0;$i<3;$i++){
if ($HTTP_POST_FILES['ufile']['name'][$i]!="")
{
//Se indica la ruta final donde se copiarán los objetos en el servidor.
$path= $dir_destino.$HTTP_POST_FILES['ufile']['name'][$i];
echo $path;
//Instrucción de copiado de ficheros.
//copy($HTTP_POST_FILES['ufile']['tmp_name'][$i], $path);
$res=move_uploaded_file($HTTP_POST_FILES['ufile']['tmp_name'][$i], $path);
echo $res;
}
}
//-------------------------------------------------------------------------
// -
// Comprobamos que no se ha producido ningún error al subir los ficheros -
// -
//-------------------------------------------------------------------------
$filesize1=$HTTP_POST_FILES['ufile']['size'][0];
$filesize2=$HTTP_POST_FILES['ufile']['size'][1];
$filesize3=$HTTP_POST_FILES['ufile']['size'][2];
for ($i=0;$i<3;$i++)
{
if($HTTP_POST_FILES['ufile']['name'][$i]!="" && $HTTP_POST_FILES['ufile']['size'][$i] != 0)
{
echo "ERROR -201: no se han recibido correctamente los ficheros";
}
}
}//Del else que controla si se ha realizado el envío correctamente.
?>