Когда сотрудник уходит из компании, я хочу переместить весь Maildir в папку в учетной записи «старых сотрудников».
Учитывая, что Maildir использует исключительно файловую систему, я считаю, что можно просто mv ~fred/Maildir ~oldemployees/Maildir/fred
или похожие.
Если я это сделаю, как мне заставить почтовый клиент заметить, что есть новый каталог?
Учитывая, что Maildir использует исключительно файловую систему, я считаю, что можно просто использовать mv ~ fred / Maildir ~ oldemployees / Maildir / fred или аналогичный
Это зависит от конфигурации голубятни.
По умолчанию dovecot использует Maildir ++ макет для хранения электронной почты.
~/Maildir/new
, ~/Maildir/cur
и ~/Maildir/tmp
каталоги содержат сообщения для INBOX. Каталог tmp используется во время доставки, новые сообщения поступают как новые, а прочитанные должны перемещаться клиентами в cur.~/Maildir/.folder/
это папка почтового ящика~/Maildir/.folder.subfolder/
является подпапкой папки (например, "папка / подпапка")Итак, в этом случае вы можете использовать команду
mv ~fred/Maildir ~oldemployees/Maildir/.fred
Вы также можете дополнительно использовать макет "fs", добавив :LAYOUT=fs
к mail_location
. Это делает структуру папок такой:
~/Maildir/new
, ~/Maildir/cur
и ~/Maildir/tmp
каталоги содержат сообщения для INBOX, как и в Maildir ++.~/Maildir/folder/
это папка почтового ящика~/Maildir/folder/subfolder/
это подпапка папкиЕсли я это сделаю, как мне заставить почтовый клиент заметить, что есть новый каталог?
Это также зависит от почтового клиента.
My Squirrelmail всегда автоматически подписывается на новую папку. Thunderbird требовал, чтобы вы щелкнули [Файл] - [Подписаться ...] и активируйте новую папку, чтобы она появилась на экране.
На нашем сервере IMAP с Dovecot я делаю это так, чтобы скопировать всю иерархию Maildir в подпапку почтового ящика другого пользователя:
Определите переменные, чтобы остальные можно было скопировать / вставить
olduser=martina
olddir=/home/$olduser/Maildir
newuser=jasmin
newgroup=users
newdir=/home/$newuser/Maildir
newfolder="Martina"
newdest="$newdir/.$newfolder"
Переместить все папки и подпапки в подпапку другого пользователя
mkdir -v "$newdest"
for d in cur new tmp; do mv -vi "$olddir/$d" "$newdest/"; done
# Move only folders which contain mails,
# and exclude some special folders like Trash, etc.
cd $olddir
for d in .??*; do
if [[ "$d" =~ ^.(Junk|Trash)$ ]] || [ -z "$(find "$d"/{cur,new,tmp} -type f)" ]; then
echo ignore "$d"; continue;
fi;
mv -vi "$d" "$newdest/$d";
done
# subscribe new user to new folders
find "$newdir" -maxdepth 1 -type d -name ".$newfolder*" -printf "%f\n"
| while read d; do echo ${d/#./}; done
| cat - "$newdir/subscriptions"
| sort -u > "$newdir/subscriptions.new"
mv "$newdir/subscriptions.new" "$newdir/subscriptions"
# fix ownership/permissions
chmod -R u=rwX,go= "$newdir"
chown -R $newuser:$newgroup "$newdir"
# Check ownership/permissions
find "$newdir" -not -perm 700 -type d -ls
find "$newdir" -not -perm 600 -type f -ls
find "$newdir" -not -user $newuser -ls
find "$newdir" -not -group $newgroup -ls