Таким образом в моем сервере я обычно иду вразрез с проблемой, различные почтовые клиенты называют некоторые специальные папки как 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
}
Действительно ли это - правильный способ "устранить" эту раздражающую проблему? Это, кажется, работает, по крайней мере, на сервере существует не на самом деле дублирование, но некоторые почтовые клиенты могут выбрать все дублированные папки.
Спасибо.
Вы можете использовать плагин псевдонима почтового ящика , требующий 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-ящика. Когда пользователь удаляет один из них, другой остается без изменений.
Плагин использовать не нужно. Перейдите в свой каталог 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 было достаточно для ноутбука, но телефон продолжал использовать папку «Отправленные сообщения»
, поэтому мне пришлось использовать трюк с символической ссылкой. Будьте очень осторожны при выборе правильной «Отправленные»
или «Отправленные сообщения»
или любой другой папки для создания символической ссылки и из нее!
Я предполагаю, что плагин просто сам создает символическую ссылку , так что вы просто делаете похожие вещи. С помощью этого метода вы можете объединить все нужные папки и сохранить работу клиентов без изменений. : -)