従業員が会社を辞めたら、Maildir全体を「古い従業員」アカウントのフォルダに移動したいと思います。
Maildirがファイルシステムを排他的に使用していることを考えると、mv ~fred/Maildir ~oldemployees/Maildir/fred
または同様のものだけを使用できるはずだと思います。
その場合、メールクライアントをトリガーして新しいディレクトリがあることに気付くにはどうすればよいですか?
Dovecotを使用するIMAPサーバーでは、次のようにして、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
Maildirがファイルシステムを排他的に使用していることを考えると、mv〜fred/Maildir〜oldemployees/Maildir/fredなどを実行できるはずだと思います。
Dovecotの構成によって異なります
デフォルトでは dovecotはMaildir ++を使用 レイアウトでメールを保存します。
~/Maildir/new
、~/Maildir/cur
、および~/Maildir/tmp
ディレクトリには、INBOXのメッセージが含まれています。 tmpディレクトリは配信中に使用され、新しいメッセージはnewで到着し、読み取られたメッセージはクライアントによってcurに移動されます。~/Maildir/.folder/
はメールボックスフォルダです~/Maildir/.folder.subfolder/
は、フォルダーのサブフォルダー(つまり、「フォルダー/サブフォルダー」)です。したがって、この場合はコマンドを使用できます
mv ~fred/Maildir ~oldemployees/Maildir/.fred
オプションで、:LAYOUT=fs
をmail_location
に追加して、「fs」レイアウトを使用することもできます。これにより、フォルダ構造は次のようになります。
~/Maildir/new
、~/Maildir/cur
、および~/Maildir/tmp
ディレクトリには、Maildir ++の場合と同様に、INBOXのメッセージが含まれています。~/Maildir/folder/
はメールボックスフォルダです~/Maildir/folder/subfolder/
はフォルダのサブフォルダですその場合、メールクライアントをトリガーして新しいディレクトリがあることに気付くにはどうすればよいですか?
また、メールクライアントにも依存します。
私のSquirrelmailは常に新しいフォルダを自動的にサブスクライブします。 Thunderbirdでは、[ファイル]-[サブスクライブ...]をクリックし、新しいフォルダをアクティブにして画面に表示する必要がありました。