Gestire utenti, alias e domini
Forse sapete già cosa fare per creare domini e utenti mail. Dopo tutto ho cerato di spiegare lo schema del database nella sezione riguardante la preparazione del database. Ma se non fosse chiaro abbastanza lasciatemi spiegare cosa bisogna fare per gestire gli account mail.
Interfacce web
Se non gradite l’idea di usare quesry SQL per gestire il vostro server di posta, potrebbe interessarvi installare un software di gestione con interfaccia web. Diversi sviluppatori hanno creato delle interfacce web per le versioni precedenti di questa guida e probabilmente funzioneranno ancora perché lo schema del database non è cambiato. Con un po’ di esperienza in programmazione web potreste essere in grado di sviluppare il vostro sistema di gestione. Ho documentato qualche query SQL comune qui sotto.
Queste interfacce web sono state create da altre diligenti mani:
ISPmail Admin
GRSoft Virtual Mail Manager
Peter Gutwein ha aggiornato la sua interfaccia web in PHP per creare forti hash di password come raccomandato in questa guida. Supporta inglese, tedesco, spagnolo, francese, italiano russo e svedese.
Homepage -> http://www.grs-service.ch/pub/grs_mminstallation.html
Ecco alcune immagini dell’applicazioni in funzione:
Gestire il database direttamente
Operazioni comuni / phpMyAdmin
Questa tabella spiega quali modifiche sono richieste nel database per le operazioni di tutti i giorni. Potete usare phpMyAdmin seguendo le istruzioni in questa tabella:
Scopo | Istruzioni |
---|---|
Creare un dominio mail | Inserire una nuova riga nella tabella virtual_domains e settare “name” col nome del nuovo dominio |
cancellare un dominio mail | Cancellare la riga dalla tabella virtual_domains che ha il giusto valore “name”. Tutti gli utenti e alias saranno cancellati automaticamente. Tuttavia le mailbox rimarranno sul disco in /var/vmail/… e dovete cancellarle manualmente. |
Creare un utente mail | Trovate l'”id” del dominio giusto dalla tabella virtual_domains. Poi inserite una nuova riga nella tabella virtual_users. Settate “domain_id” al valore che avete appena trovato nella tabella virtual_domains. Settate il campo “email” all’indirizzo email completo del nuovo utente. Create una nuova password usando il comando shell “dovecot pw -s SHA256-CRYPT” e inserite il risultato nel campo “password”. |
Cambiare la password di un utente | Trovate la riga nella tabella virtual_users cercando il giusto campo “field”. Create una nuova password nella shell usando il comando “dovecot pw -s SHA256-CRYPT e inserite il risultato nel campo “password”. |
Cancellare un utente mail | Trovate la riga nella tabella virtual_users cercando il giusto campo “email” e cancellatela. La mailbox rimarrà nel disco in /var/vmail/… e dovete cancellarla manualmente. |
Creare una mail di inoltro | Potete inoltrare mail da un indirizzo mail (sorgente) ad altri (destinazioni) – anche fuori dal vostro server di posta. Trovate l'”id” del dominio giusto (la parte dopo la “@” dell’indirizzo mail sorgente) dalla tabella virtual_domains. Create una nuova riga nella tabella virtual_aliases per ogni destinazione (se ne avete più di uno). Settate il campo “source” all’indirizzo email completo della sorgente. E settate il campo “destination” al rispettivo indirizzo email completo della destinazione. |
Cancellare una mail di inoltro | Trovate tutte le riche nella tabella virtual_aliases cercando il giusto indirizzo mail “source”. Rimuovete tutte le righe che portano all’indirizzo “destination” a cui non volete inoltrare le mail. |
Query SQL
Scopo | Query |
---|---|
Creare un dominio mail | INSERT INTO virtual_domains (name) VALUES ("example.org"); |
Cancellare un dominio mail | DELETE FROM virtual_domains where name='example.org'; |
Creare un nuovo utente mail | INSERT INTO virtual_users (domain_id, email, password) VALUES ( (SELECT id FROM virtual_domains WHERE name='example.org'), 'john@example.org',CONCAT('{SHA256-CRYPT}', ENCRYPT ('new password', CONCAT("$5$", SUBSTRING(SHA(RAND()), -16))))); |
cambiare la password di un utente | UPDATE virtual_users SET password=CONCAT('{SHA256-CRYPT}', ENCRYPT ('new password', CONCAT("$5$", SUBSTRING(SHA(RAND()), -16)))) WHERE email='email@address'; |
Cancellare un utente mail | DELETE FROM virtual_users WHERE email='john@example.org'; |
Creare una mail di inoltro | INSERT INTO virtual_aliases (domain_id, source, destination) VALUES ( (SELECT id FROM virtual_domains WHERE name='example.org'), 'melissa@example.org', 'juila@example.net'); |
Cancellare un mail di inoltro | DELETE FROM virtual_aliases WHERE source='melissa@example.org'; |