Si el servidor no envía correo y al mirar el fichero /opt/zimbra/log/zmmailboxd.out aparece un mensaje de error 2018-07-04 12:58:16.566:WARN:oejs.HttpChannel:qtp509886383-24433: Could not send response error 500: java.io.IOException: Connection reset by peer
Se supone que deberíamos aumentar la memoria heap pasamos de mailboxd_java_heap_size = 1920 a 4096
zmlocalconfig -e mailboxd_java_heap_size=4096
Si al hacer un chequeo de los blob
/opt/zimbra/bin/zmblobchk startnos aparecen mensajes del tipo
Mailbox 150, volume 1, /opt/zimbra/store/0/150/msg/0/361-1901.msg: unexpected blob. File size is 13425.
Muchos de los problemas se solucionaran ejecutando como root el siguiente comando para fijar problemas con los permisos de los ficheros.
/opt/zimbra/libexec/zmfixperms --verbose --extended
Si aún después de ejecutar zmfixperms, persisten los errores con los blob,podemos ejecutar :
zmblobchk --missing-blob-delete-item --export-dir /temp/blob startpara exportar y eliminar los blob perdidos.
En el caso de que aún tengamos errores del tipo unexpected blob, podemos ejecutar el siguiente script para mover los mensaje con problemas a una carpeta para poder revisarlos. (https://forums.zimbra.org/viewtopic.php?t=13512)
#!/bin/bash #Fichero con un listado de los buzones con problemas blobfile="/opt/tmp/unexp-blobs.lst" #path donde recreamos la estructura de los ficheros que vamos a mover savedir="/opt/tmp/unexpected-blobs" #path donde tenemos los buzones storepath="/opt/zimbra/store/0/" #Si no existe creamos el directorio donde vamos a recrear la estructura if [ ! -d "$savedir" ]; then mkdir -p $savedir fi #Si ya existe un fichero de listado blobfile lo eliminamos if [ -f $blobfile ]; then rm -f $blobfile fi zmblobchk --unexpected-blob-list $blobfile start; for i in $(cat $blobfile); do tmpvar1="";mbxdir="";filename=""; tmpvar1="$(dirname $i)" mbxdir=${tmpvar1#$storepath} #filename=$(basename $i) echo $savedir/$mbxdir/$filename #Creamos la estructura si no existe if [ ! -d "$savedir/$mbxdir" ]; then mkdir -p $savedir/$mbxdir fi #Movemos los mensajes con problemas mv -v $i $savedir/$mbxdir/; done
Seguidamente revisamos la integridad de la base de datos
/opt/zimbra/libexec/zmdbintegrityreport -v
Por si es un problema de permisos ejecutar como root
/opt/zimbra/libexec/zmfixpermsSi queremos que además revise los directorios /opt/zimbra/store y /opt/zimbra/index le tenemos que añadir la opción -extended
/opt/zimbra/libexec/zmfixperms -extended
También podemos hacer:
chown -R zimbra:zimbra /opt/zimbra
Si el error se mantiene revisar si hay algún proceso que está usando el puerto 25
netstat -tulpn
Una vez que sabemos el PID del proceso lo matamos con
kill -p <PID>y ejecutamos
zmcontrol start
Si al ejecutar
/opt/zimbra/libexec/zmdbintegrityreport -vvemos que tenemos problemas con los indices de algunos buzones la solución sería ejecutar zmdbintegrityreport con la opción de reparación
/opt/zimbra/libexec/zmdbintegrityreport -r.
Si no se soluciona tendremos que realizar la solución a mano. Para ello tomamos nota de los buzones con problemas que nos indica el comando zmdbintegrityreport y realizamos los siguientes pasos desde la consola:
su - zimbra
mysql -u zimbra
use mboxgroup47;
check table mail_item;
show indexes;
optimize table mail_item;
zmprov rim usuario@dominiocorreo start