Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/10/2009, 04:20
JoseR2
 
Fecha de Ingreso: octubre-2008
Ubicación: Asturias
Mensajes: 58
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Enviar email con archivo adjunto a usuarios registrados

Pues nunca se me ha planteado la necesidad y doy por hecho que has buscado algún componente.

Si no encuentras nada, la alternativa es personalizar el componente de usuarios (com_users). He investigado un poco y creo que tengo localizado dónde se harían los cambios. Por supuesto, haz copia de los archivos a modificar y haz pruebas pues yo no he tenido tiempo.
No indicas versión de tu Joomla, esto sería para el 1.5.

El archivo que se encarga de hacer el envío del email a los nuevos usuarios es:
\administrator\components\com_users\controller.php

En la línea 189 puedes ver la llamada a la función JUtility::sendMail que es la encargada de hacer el envío y que está dentro del condicional si es un nuevo usuario (línea 176).
Bien, aquí verás que se especifican 5 parámetros (adminemail, adminname, email del nuevo usuario, asunto y mensaje). Ahora vamos a revisar la función sendMail.

La función sendMail está localizada en el archivo \libraries\joomla\utilities\utility.php y concretamente en la línea 44.
Aquí podrás ver que tiene más propiedades y que incluso utiliza envío con copia, etc. y el adjunto que tú necesitas. Así pues lo utilizaremos.

Ahora viene el "retoque".
En el mencionado archivo "controller.php" cambiaremos la llamada a la función indicando el fichero a incluir en el envío.
Sería algo así:
Código HTML:
JUtility::sendMail( $adminEmail, $adminName, $user->get('email'), $subject, $message,,,, $fichAttach );
En la variable $fichAttach tienes que indicarle el path relativo al raíz de Joomla (aunque esto también tienes que probarlo, no estoy seguro). Es decir si creas una carpeta llamada "adjuntos" en el raíz, debieras de incluir antes de la llamada a la función la siguiente línea:
Código HTML:
$fichAttach = "\adjuntos\archivoAdjunto";
Bueno, cuéntame tus pruebas y si te sirve.
Saludos.