当员工离开公司时,我想将他们的整个Maildir移动到“老员工”账户的文件夹中。
鉴于Maildir独占使用文件系统,我觉得应该可以只使用mv ~fred/Maildir ~oldemployees/Maildir/fred
或类似的。
如果我这样做,如何触发邮件客户端通知有一个新的目录?
在我们与Dovecot的IMAP服务器上,我这样做,将整个Maildir层次结构复制到另一个用户邮箱的子文件夹中:
定义variables以便可以复制/粘贴
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
鉴于Maildir独占地使用文件系统,我觉得应该可以使用mild / Maildir〜oldemployees / Maildir / fred或类似
这取决于dovecotconfiguration
默认情况下, dovecot使用Maildir ++布局来存储电子邮件。
~/Maildir/new
, ~/Maildir/cur
和~/Maildir/tmp
目录包含INBOX的消息。 tmp目录在传递过程中使用,新消息到达新的读取应该被客户端移动到cur。 ~/Maildir/.folder/
是一个邮箱文件夹 ~/Maildir/.folder.subfolder/
是文件夹的子文件夹(即“文件夹/子文件夹”) 所以,在这种情况下,你可以使用命令
mv ~fred/Maildir ~oldemployees/Maildir/.fred
您也可以select使用“fs”布局:LAYOUT=fs
到mail_location
。 这使得文件夹结构如下所示:
~/Maildir/new
, ~/Maildir/cur
和~/Maildir/tmp
目录包含INBOX的消息,就像Maildir ++一样。 ~/Maildir/folder/
是一个邮箱文件夹 ~/Maildir/folder/subfolder/
是文件夹的子文件夹 如果我这样做,如何触发邮件客户端通知有一个新的目录?
这也取决于邮件客户端。
我的Squirrelmail总是自动订阅新文件夹。 雷鸟要求你点击[文件] – [订阅…]并激活新文件夹,使其出现在屏幕上。