Голубятня: Почтовые клиенты и дублированные папки

Таким образом в моем сервере я обычно иду вразрез с проблемой, различные почтовые клиенты называют некоторые специальные папки как Sent и Trash различные имена как Sent Items и Deleted Items.

Мой вопрос, могу я в некотором роде "искажать" все те имена и внутренне отображать их на то же Sent папка на сервере?

Мне удалось изменить мой dovecot.conf включать разделы как:

mailbox Sent {
    special_use = \Sent
    auto=subscribe
}

mailbox "Sent Messages" {
    special_use = \Sent
}

mailbox "Sent Items" {
    special_use = \Sent
}

Действительно ли это - правильный способ "устранить" эту раздражающую проблему? Это, кажется, работает, по крайней мере, на сервере существует не на самом деле дублирование, но некоторые почтовые клиенты могут выбрать все дублированные папки.

Спасибо.

2
задан 22 February 2015 в 22:49
2 ответа

Вы можете использовать плагин псевдонима почтового ящика , требующий Dovecot 2.1.10+, который создает символические ссылки на уровне файловой системы, чтобы предоставить одному каталогу более одного имени. Оба каталога имеют одинаковое содержимое.

Пример конфигурации, где Отправлено и Корзина являются реальными почтовыми ящиками для псевдонимов «Отправленные» и «Удаленные»:

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
}

Дон Не забудьте создать почтовые ящики:

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

Другая возможность - создать два разных почтовых ящика, как вы упомянули, я скопировал часть 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
  }
}

Используя этот метод, у вас есть два разных Sent-ящика. Когда пользователь удаляет один из них, другой остается без изменений.

2
ответ дан 3 December 2019 в 10:02

Плагин использовать не нужно. Перейдите в свой каталог vmail, например:

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

, а затем, если вы хотите, например, чтобы все сообщения сохранялись в папке «Отправленные» и сохранялись в «Отправленные» вместо этого просто переместите файлы «Отправленные сообщения» в «Отправленные» через ваш клиент в качестве первого шага.

Затем в папке /var/vmail/example.com/exampleUser/mail удалите «Отправленные сообщения» скрытую папку:

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

Перед отправкой любого другого электронного письма продолжите добавление символической ссылки на скрытую папку «Отправлено» из «Отправленные сообщения» (длинная строка здесь, если вы копируете и вставляете, делайте это осторожно):

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

Это должно быть работает нормально. Просто повторите ту же процедуру, если вы хотите, чтобы «Отправленные» или «Отправленные» или любая другая папка была привязана к папке «Отправлено» , или если вам нужно другое решение с другими папками, указывающими на другие папки, и хранить почту только в одной из них.

Если вам нужно сделать dovecot и клиент, чтобы использовать «INBOX» в качестве "Отправлено" , вы должны создать символическую ссылку из почтовой папки с именем пользователя (снова длинная строка):

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

, если вы не меняли его. Затем отредактируйте в /etc/dovecot/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
  }
}

или другой эквивалент, чтобы они стали:

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
  }
}

Как вы можете заметить, две одинаковые теперь, так что вы можете просто удалить один:

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
  }
}

Тогда все должно работать нормально. Я прошел через этот процесс, потому что хотел, чтобы мои отправленные письма находились в папке «Входящие» как с ноутбука, так и с телефона. Хака dovecot было достаточно для ноутбука, но телефон продолжал использовать папку «Отправленные сообщения» , поэтому мне пришлось использовать трюк с символической ссылкой. Будьте очень осторожны при выборе правильной «Отправленные» или «Отправленные сообщения» или любой другой папки для создания символической ссылки и из нее!

Я предполагаю, что плагин просто сам создает символическую ссылку , так что вы просто делаете похожие вещи. С помощью этого метода вы можете объединить все нужные папки и сохранить работу клиентов без изменений. : -)

2
ответ дан 3 December 2019 в 10:02

Теги

Похожие вопросы