
Bueno en mi primer tutorial les mostraba como instalar Piler desde cero. En este, les mostraré como archivar los correos de un servidor de postfix o exim. Además de mostrarles como configurar Piler para obtener más funcionalidades.
1- Configuración del servidor de correo
Una vez configurado Piler, es necesario indicarle al servidor de correo que envíe los mensajes de correos hacia Piler. Veremos cómo hacerlo desde un server con postfix y otro con exim.
1.1- Exim
En este caso existen dos variantes:
a) System Filter
Agregar un filtro que envíe una copia de todos los correos entrantes y salientes a [email protected], por ejemplo:
unseen deliver [email protected] errors_to [email protected]
b) Mediante Routers
En la sección de Routers antes del primero (debajo de «begin routers») agregar:
mailarchive:
debug_print = «R: mailarchive for $local_part@$domain»
driver = manualroute
domains = *
transport = remote_smtp
# piler listening on port 25:
route_list = * «piler.dominio.cu::25»
self = send
unseen
1.2- Postfix (Zimbra 8.7.x y superior) con 2 métodos muy similares:
Primero crearemos el archivo postfix_x-add-envelope-to
nano /opt/zimbra/conf/postfix_x-add-envelope-to
y donde colocaremos dentro el contenido siguiente:
/(.+)/ PREPEND X-Envelope-To: $1
Salvamos. Ctrl+X
a) Editaremos el siguiente fichero:
nano /opt/zimbra/conf/zmconfigd/smtpd_recipient_restrictions.cf
Y añadir la siguiente línea casi al principio del todo, debe quedaros así:
%%contains VAR:zimbraMtaRestriction check_client_access lmdb:/opt/zimbra/conf/postfix_blacklist%% %%contains VAR:zimbraServiceEnabled cbpolicyd^ check_policy_service inet:localhost:%%zimbraCBPolicydBindPort%% check_recipient_access pcre:/opt/zimbra/conf/postfix_x-add-envelope-to <------- Añadir esta línea reject_non_fqdn_recipient
# zmlocalconfig -e [email protected] # postconf -e [email protected] # zmmtactl restart
[email protected] :[piler.dominio.cu]
# zmprov ms mail.dominio.cu zimbraMtaTransportMaps "lmdb:/opt/zimbra/common/conf/transportfile,proxy:ldap:/opt/zimbra/conf/ldap-transport.cf"
zimbra_ldap_password = XXXXXXX
ldap_master_url = ldap://mail.dominio.cu:389
// authentication against an ldap directory (disabled by default)
$config['ENABLE_LDAP_AUTH'] = 0;
$config['LDAP_HOST'] = 'ldap.yourdomain.com';
$config['LDAP_HELPER_DN'] = 'cn=....';
$config['LDAP_HELPER_PASSWORD'] = 'xxxxxxx';
$config['LDAP_MAIL_ATTR'] = 'mail';
$config['LDAP_AUDITOR_MEMBER_DN'] = '';
$config['LDAP_ADMIN_MEMBER_DN'] = '';
$config['LDAP_BASE_DN'] = '';
// AD specific settings
//
$config['LDAP_ACCOUNT_OBJECTCLASS'] = 'user';
$config['LDAP_DISTRIBUTIONLIST_OBJECTCLASS'] = 'group';
$config['LDAP_DISTRIBUTIONLIST_ATTR'] = 'member';
$config['LDAP_MAIL_ATTR'] = 'proxyAddresses';
// zimbra specific settings
//$config['LDAP_HELPER_DN'] = 'uid=zimbra,cn=admins,cn=zimbra';
//$config['LDAP_ACCOUNT_OBJECTCLASS'] = 'zimbraAccount';
//$config['LDAP_DISTRIBUTIONLIST_OBJECTCLASS'] = 'zimbraDistributionList';
//$config['LDAP_DISTRIBUTIONLIST_ATTR'] = 'zimbraMailForwardingAddress';
//$config['LDAP_MAIL_ATTR'] = 'mail';
Copiamos todo este contenido en nuestro config-site.php
nano /var/www/piler/config-site.php
Descomentamos la parte de zimbra y ponemos a los 3 bloques nuestra configuración:
// authentication against an ldap directory (disabled by default)
$config['ENABLE_LDAP_AUTH'] = 1; --------------- Activar con 1
$config['LDAP_HOST'] = 'mail.dominio.cu'; -------Poner nuestro server de correo
$config['LDAP_HELPER_DN'] = 'cn=....';
$config['LDAP_HELPER_PASSWORD'] = 'XXXXX'; -----Poner la clave que averiguamos anteriormente
$config['LDAP_MAIL_ATTR'] = 'mail';
$config['LDAP_AUDITOR_MEMBER_DN'] = '';
$config['LDAP_ADMIN_MEMBER_DN'] = '';
$config['LDAP_BASE_DN'] = '';
// AD specific settings
//
$config['LDAP_ACCOUNT_OBJECTCLASS'] = 'user';
$config['LDAP_DISTRIBUTIONLIST_OBJECTCLASS'] = 'group';
$config['LDAP_DISTRIBUTIONLIST_ATTR'] = 'member';
$config['LDAP_MAIL_ATTR'] = 'proxyAddresses';
// zimbra specific settings
$config['LDAP_HELPER_DN'] = 'uid=zimbra,cn=admins,cn=zimbra';
$config['LDAP_ACCOUNT_OBJECTCLASS'] = 'zimbraAccount';
$config['LDAP_DISTRIBUTIONLIST_OBJECTCLASS'] = 'zimbraDistributionList';
$config['LDAP_DISTRIBUTIONLIST_ATTR'] = 'zimbraMailForwardingAddress';
$config['LDAP_MAIL_ATTR'] = 'mail';
En el caso de querer integrarlo contra el LDAP de nuestro AD y no al de zimbra.
// authentication against an ldap directory (disabled by default) $config['ENABLE_LDAP_AUTH'] = 1; $config['LDAP_HOST'] = 'ip del servidor ldap'; $config['LDAP_HELPER_DN'] = '[email protected]'; $config['LDAP_HELPER_PASSWORD'] = 'contraseña de [email protected]'; $config['LDAP_MAIL_ATTR'] = 'userPrincipalName'; $config['LDAP_BASE_DN'] = 'OU=example,DC=dominio,DC=cu'; $config['LDAP_AUDITOR_MEMBER_DN'] = 'CN=auditor,OU=example,DC=dominio,DC=cu'; $config['LDAP_ADMIN_MEMBER_DN'] = 'CN=admin,OU=example,DC=dominio,DC=cu'; // AD specific settings // $config['LDAP_ACCOUNT_OBJECTCLASS'] = 'user'; $config['LDAP_DISTRIBUTIONLIST_OBJECTCLASS'] = 'group'; $config['LDAP_DISTRIBUTIONLIST_ATTR'] = 'member'; $config['ENABLE_AUDIT'] = 1;
Recargamos el piler


$config[‘TIMEZONE’] = ‘America/Havana’; (Configuramos nuestra zona horaria. Nota: Esto es en la web, en el CT usaremos dpkg-reconfigure tzdata )
$config[‘DEFAULT_LANG’] = ‘es’; (Configuramos el idioma de la Web GUI)
$config[‘MIN_PREFIX_LEN’] = 3; (Reducimos la cantidad de caracteres para la búsqueda con wildcard)
$config[‘RELOAD_COMMAND’] = ‘/etc/init.d/rc.piler reload’; (Si configuramos en la web Reglas de archivado debemos poner esta configuración que hara que el piler recargue las reglas de nuevo)
5- Comandos útiles de Piler
5.1- Importar mensajes de correo
a) pilerimport -e <eml file> -m <mbox file> -d <directory>
Permite importar correos .eml desde un archivo mbox o desde un directorio (ej: Maildir)
b) pilerimport -i <imap server> -u <username> -p <password> [-x comma,separated,skiplist]
Permite importar correos desde un servidor IMAP
c) pilerimport -K pop3.yourdomain.com -u jack -p password
Permite importar correos desde un servidor POP3
5.2– Exportar correos
La herramienta ‘pilerexport’ permite exportar mensajes archivados a .eml. Dicha herramienta corre bajo los permisos del usuario ‘piler’ por lo que hay que moverse hacia un directorio donde el dicho usuario tenga permisos de escritura.
a) Exportar todos los correos > 10 KB de Diciembre:
# pilerexport -s 10000 –start-date 2014.12.01 –stop-date 2014.12.31
b) Exportar todos los correos con tamaño entre 100 KB y 2 MB, y (_AND_) los remitentes pueden ser [email protected],[email protected],[email protected] y (_AND_) el destinatario es [email protected]:
# pilerexport -s 100000 -S 2000000 -f [email protected] -f [email protected] -f [email protected] -r [email protected]
c) Hacer un «backup» diario al directorio actual:
# pilerexport –start-date 2012.01.30 –stop-date 2012.01.30
5.3- Eliminar correos antiguos
Borrar correos antiguos no es una obligación, pero es posible hacer mediante la herramienta ‘pilerpurge.py’:
Primero editaremos nuestro piler.conf
nano /usr/local/etc/piler/piler.conf
Agregamos esto:
queuedir=/var/piler/store
Para borrar los mensajes antiguos:
/usr/local/libexec/piler/pilerpurge.py -v -d -c /usr/local/etc/piler/piler.conf
Purged 0 messages, 0 files, 0/0 bytes
Dejar una contestacion