L’architettura di Zimbra è composta da componenti open-source e da componenti proprietari.
Tutti questi componenti sono stati testati, ed è stata verificata la compatibilità ed il corretto funzionamento.
Lo schema riepiloga la struttura dell’architettura è l’interazione tra software open-source e software di terze parti presente.
Nello schema funzionale gli elementi principali sono:
- MTA (Mail Transfert Agent): si tratta dell’applicazione che indirizza correttamente la posta ricevuta, nella cartella che dovrà conservarla. In Zimbra questo ruolo è svolto da Postfix
- LDAP (Lightweight Directory Access Protocol): si occupa di conservare tutti i dati relativi agli utenti ed alla configurazione del server. In Zimbra è utilizzato OpenLDAP se si sceglie di utilizzare la memorizzazione locale, ma è permesso anche utilizzare dei server LDAP esterni o Microsoft Active Directory.
- SQL SERVER (Database relazionale): utilizzato per memorizzare i token ricavati dall’indicizzazione della mail. In Zimbra era implementato MySQL Server, ma è previsto utilizzo del progetto MariaDB
- INDICIZZATORE: ciascuna mail viene analizzata utilizzando Lucene, un software che indicizza i contenuti del messaggio e individua i token.
Questa utile funzionalità permette a Zimbra di mettere a disposizione funzionalità di ricerca molto avanzate e allo stesso tempo rapide. - WEB APPLICATION: è possibile usufruire sia dell’interfaccia utente che dell’interfaccia amministratore attraverso una web application, scritta in Java e messa a disposizione dal webserver Jetty
- ANTIVIRUS/ANTISPAM: Zimbra permette di effettuare una scansione antivirus e antispam, che fa uso di ClamAv e Spamassasin. Tuttavia questi componenti all’interno di Zimbra hanno una configurazione particolarmente rigida e poco personalizzabile e gestibile, e non hanno performance adeguate a causa della scarsità delle regole di SpamAssasin implementate ed all’assenza di un servizio di aggiornamento specifico di queste regole.