Enviar Email con adjunto en PHP
En todo sistema la información de la base de datos es importante (sobre todo los backups), hace no mucho un cliente me pidió que el sistema que le habia programado (un concurso online) le envíe un backup de la base de datos en un ZIP por email, por un lado programé un CRON diario, este CRON ejecuta un PHP que genera los inserts y finalmente con una linea de comando armo el ZIP, hasta ahi todo bien, solo quedaba mandar el email con el zip. Hace tiempo que uso la función mail de PHP pero no tiene la opción de adjuntar archivos, asi que gracias al amigo google, encontré una clase muy buena y sencilla de usar que te permite hacerlo muy facil.
Librerias
Es simplemente una clase que se puede descargar desde Geekology
Ejemplo
Ejemplo básico para enviar un email HTML con un ZIP adjunto.
require 'geekMail-1.0.php'; $geekMail = new geekMail(); $geekMail->setMailType('html'); $geekMail->from('from_mail@host.com', 'FromName'); $geekMail->to('destiny_mail@host.com'); $geekMail->subject('Email Subject'); $geekMail->message('This is an <strong>example</strong> message.'); $geekMail->attach('myfile.zip'); if (!$geekMail->send()) { $errors = $geekMail->getDebugger(); print_r($errors); }
Importante!
Si van a adjuntar un ZIP tengan cuidado con el contenido, en mi caso quería adjuntar un ZIP con un archivo .SQL y ciertos clientes (como Hotmail y el cliente de email de MAC) toma como preligroso ese tipo de archivos y les borra el contenido dejando el ZIP en 0KB.
Si tienen el mismo problema la solucion mas sencilla fué ponerle contraseña al ZIP, esto evita que el antivirus pueda escanearlo y lo deja intacto.
Referencia
Mas información sobre la clase.
Ustedes tienen alguna otra clase que haga algo similar, pero mejor?


