En uno de los servidores que administro, nos dimos cuenta que un error aparece en el momento de utilizar del webmail roundcube en el registro de los contacto.
Este tutorial explica cómo identificar y reparar este pequeño problema.
Después de haber editado un nuevo contacto, la acción de registro pone en marcha el mensaje de error siguiente:
¡ha ocurrido un error!, No se pudo guardar la dirección de correo
La búsqueda de la fuente de este error puede ser hecha mirando el log de roundcube:
tail -f /var/log/roundcube/errors
- En algunas distribuciones puede estar en otra ruta.
Donde se ve aparecer líneas del tipo
[ 21-Aug-2012 07:52:12 UTC] MDB2 Error: no such field (-19): _doQuery: [Error mensaje:
Could not execute statement] [Last executed query: INSERTO INTO contactos (user_id, changed, del, `vcard `, `name `, `email `, `firstname `, `surname `, `words `) VALIDAS…
[Nativa codifica: 1054] [nativa mensaje: Unknown column ‘ words ‘ in field list]
Que indica que el campo » words » no existe en la tabla «contacto» de la base de datos de roundcube. Utilizando un DBA como Mysqlfront o por el PhpMyAdmin si está instalado, corregimos el problema insertando el campo en la mesa
ALTER TABLE `contacts` ADD `words` VARCHAR( 500 ) NULL DEFAULT NULL
Error al añadido de una nueva identidad
La inserción de una nueva identidad produce el mismo error. Una metodología similar permite identificar que el campo » changed » es faltante en la tabla » identitities «.
ALTER TABLE `identities` ADD `changed` DATETIME NOT NULL DEFAULT '1000-01-01 00:00:00'
AFTER `identity_id`