По заявлениям разработчиков почтового сервера Zimbra, время отправки или получения письма не важно для пользователей, поэтому в WEB-клиенте Zimbra его нет
It’s a UX decision based on prioritizing screen real estate and providing format that meets most user’s needs.
Однако, это не очень удобно и не привычно — все почтовые клиенты показывают нам дату и время. Исправляем эту несправедливость и делаем так, чтобы в списке сообщений выводилась полная информация о времени получения письма.
Первую часть этого решения можно найти на странице багтрекера Zimbra.
- На нашем сервере переходим в директорию
/opt/zimbra/mailboxd/webapps/zimbra/js/
- Делаем резервные копии двух файлов
cp MailCore_all.js MailCore_all.js_BACKUP cp MailCore_all.js.zgz MailCore_all.js.zgz_BACKUP
- Далее редактируем первый файл MailCore_all.js. Находим строчку
var date = AjxDateUtil.computeDateStr(params.now || new Date(), item.date);
и меняем её на
var date = AjxDateUtil.computeDateTimeString(new Date(item.date));
- Далее закатываем этот файл в gz
gzip -c MailCore_all.js > MailCore_all.js.gz
- И переименовываем его
mv MailCore_all.js.gz MailCore_all.js.zgz
Что касается backend части, всё готово. Дата будет выдаваться в список целиком, в виде 3 Июл 2017 г. 16:23:46. Но в этот момент возникает другая проблема: в списке сообщений блок для вывода даты слишком узкий и вся дата по-прежнему не видна. Информации с багтрекера в этом месте стало мало, потому что решение предложенное там не работало. Поэтому было решено править файл CSS, отвечающий за стиль этого блока.
- Идём в
/opt/zimbra/mailboxd/webapps/zimbra/skins/_base/base3
- Редактируем файл skin.css. Ищем там стиль:
.ZmMsgListDate { position:absolute; right:0px; text-align:right; width:75px; width:6.8rem; }
- И меняем его на
.ZmMsgListDate { position:absolute; right:0px; text-align:right; width:75px; width:10.8rem; }
- После этого перезагружаем Zimbra
service zimbra restart
- И видим, что в списке сообщений (и входящих, и исходящих) появилась полные дата и время. Готово!