Dovecot: client di posta elettronica e cartelle duplicate

Quindi, nel mio server, sto di solito andando contro un problema, i client di posta elettronica diversi chiamano alcune cartelle speciali come i messaggi Sent e Trash diversi, come Sent Items e Deleted Items .

La mia domanda è, posso in qualche modo "alias" tutti quei nomi e mappare internamente a una stessa cartella Sent sul server?

Sono riuscito a cambiare il mio wherecot.conf un include sezioni come:

 mailbox Sent { special_use = \Sent auto=subscribe } mailbox "Sent Messages" { special_use = \Sent } mailbox "Sent Items" { special_use = \Sent } 

È questo il modo giusto per "risolvere" questo problema fastidioso? Sembra che funziona, alless non c'è effettivamente duplicazione sul server, ma alcuni clienti di posta elettronica possono scegliere tutte le cartelle duplicate.

Grazie.

2 Solutions collect form web for “Dovecot: client di posta elettronica e cartelle duplicate”

È ansible utilizzare il plugin Alias della Mailbox che richiede Dovecot 2.1.10+ che crea i collegamenti a livello di file system per fornire una directory con più di un nome. Le due directory hanno lo stesso contenuto.

Esempio di configuration in cui Sent and Trash sono le caselle di posta reali per gli alias "Elementi inviati" e "Elementi eliminati":

 mail_plugins = $mail_plugins mailbox_alias plugin { mailbox_alias_old = Trash mailbox_alias_new = Deleted Items mailbox_alias_old2 = Sent mailbox_alias_new2 = Sent Items } 

Non dimenticare di creare le cassette postali:

 namespace inbox { mailbox Sent { auto = create # or subscribe special_use = \Sent } mailbox Trash { auto = create special_use = \Trash } } 

L'altra possibilità è quella di creare due diverse caselle di posta come accennato, ho copiato una parte di conf.d/15-mailboxes.conf

 namespace inbox { # For \Sent mailboxes there are two widely used names. We'll mark both of # them as \Sent. User typically deletes one of them if duplicates are created. mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } } 

Utilizzando questo metodo, hai due diverse caselle di invio. Quando l'utente elimina uno di essi, l'altro esiste ancora invariato.

Non è necessario utilizzare il plugin. Andare alla directory di vmail, ad esempio:

 cd /var/vmail/example.com/exampleUser/ 

quindi, per esempio, se si desidera che tutti i messaggi memorizzati nella cartella "Sent Messages" siano memorizzati nella cartella "Sent" , basta spostare i file di "Sent Messages" in "Sent" tramite il client come primo passo.

Quindi, nella cartella /var/vmail/example.com/exampleUser/mail , rimuovere la cartella nascosta "Sent Messages" :

 rm -r /var/vmail/example.com/exampleUser/mail/.Sent\ Messages 

Prima di submit qualsiasi altra email, procedi nell'aggiunta di un simbolo nella cartella nascosta "Sent" da "Sent Messages" (linea lunga qui, se si copia e incolla, fai con attenzione):

 ln -s /var/vmail/example.com/exampleUser/mail/.Sent /var/vmail/example.com/exampleUser/mail/.Sent\ Messages 

Questo dovrebbe funzionare bene. Basta ripetere la stessa procedura se si desidera avere gli "Sent Items" o "Mail Sent" o qualsiasi altra cartella collegata allo "Sent" oppure se si desidera un'altra soluzione con altre cartelle che puntino a altre cartelle e tenga le mail in solo uno di loro.

Se wherete fare il wherecot e il client usare "INBOX" come la cartella "Sent" , dovresti creare il collegamento simbolico dalla cartella di posta con il nome utente (linea lunga di nuovo):

 ln -s /var/vmail/example.com/exampleUser/mail/ /var/vmail/example.com/exampleUser/mail/.Sent\ Messages 

a less che tu non l'abbia cambiato. Quindi, modificare le righe nel /etc/wherecot/conf.d/15-mailboxes.conf :

 namespace inbox { # For \Sent mailboxes there are two widely used names. We'll mark both of # them as \Sent. User typically deletes one of them if duplicates are created. mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } } 

o altro equivalente per farli diventare:

 namespace inbox { # For \Sent mailboxes there are two widely used names. We'll mark both of # them as \Sent. User typically deletes one of them if duplicates are created. mailbox INBOX { special_use = \Sent } mailbox INBOX { special_use = \Sent } } 

Come si può notare, due sono gli stessi ora, quindi è ansible cancellare uno:

 namespace inbox { # For \Sent mailboxes there are two widely used names. We'll mark both of # them as \Sent. User typically deletes one of them if duplicates are created. mailbox INBOX { special_use = \Sent } } 

Allora dovrebbe funzionare bene. Ho passato questo process perché volevo che le mie e-mail inviate siano nella mia cartella di posta in arrivo sia dal mio porttile e dal mio telefono. Il hack wherecot era abbastanza per il porttile, ma il telefono continuava a usare la cartella "Sent Messages" , quindi ho dovuto usare il trucco di symlink. Fare molta attenzione nella scelta del diritto "Sent" o "Sent Messages" o qualunque cartella per effettuare il collegamento symlink da e verso!

Suppongo che il plugin faccia semplicemente un simbolo in sé, quindi stai solo facendo cose simili. Con questa tecnica è ansible unire tutte le cartelle desiderate e mantenere i vostri clienti a lavorare senza modifiche. 🙂

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.