[Mailman-Users] Managing archives
Victor Tsaran
vtsaran at icevi.org
Fri Aug 15 21:41:54 CEST 2003
Hi, John!
Your idea and the advice sound great, however, this assumes that the person
has to use some kind of Unix-based E-mail client which, as you can imagine,
generally not the case. I was hoping for some kind web-based solution, but I
guess we will have to wait for this one.
Thanks for your help. Will let you know if I come up with something
interesting.
Regards,
Victor
-----Original Message-----
From: Jon Carnes [mailto:jonc at nc.rr.com]
Sent: Wednesday, August 13, 2003 8:57 AM
To: vtsaran at icevi.org
Cc: mailman-users at python.org
Subject: RE: [Mailman-Users] Managing archives
oops... forgot to set the rights for the new archive mbox file...
I added that to the second script.
Jon Carnes
A script that creates the imap mbox and copies the mbox from the archive:
#! /bin/bash
#
# Used to move an archive into position for editing
# by anyone who can use an email client
#
# Assumptions:
# - mailman install is in /var/mailman
# - imap mailbox root is /home/user/mail/<listname>
# This means that you already created the mbox
# using your email program.
# <listname> == $1
#
# Input: a valid mailman list name (with archives)
#
PATH2ARC="/var/mailman/archives/private"
# Check that the list name is valid and the archives exist
if [ ! -f $PATH2ARC/$1.mbox/$1.mbox ]; then
echo ERROR: $1 is not a valid mailman list with archives
echo (be sure to use all lower case)
echo or path to archive files is incorrect:
echo $PATH2ARC
echo " "
exit 0
fi
#
PATH2MB="/home/user/mail"
#
# Check that mbox has been created...
if [ ! -f $PATH2MB/$1 ]; then
echo ERROR: Please check that the path to your IMAP Mailbox
echo is: $PATH2MB
echo and that you have created a Mailbox called:$1
echo
exit 0
fi
#
cat $PATH2ARC/$1.mbox/$1.mbox >> $PATH2MB/$1
===
Now someone simply edits the mailbox using their email client. This
doesn't take anyone technically minded...
When they are done, we put back the archives:
#! /bin/bash
#
# Used to move an edited mbox from an imap folder
# and put it back into the Mailman archive from
# which it was grabbed.
#
# Assumptions:
# - mailman install is in /var/mailman,
# with archives being in /var/mailman/archives/private/..
# - imap mailbox root is /home/user/mail/<listname>
# and the imap header for the file is 13 lines long
# including the blank line at the end of the message.
#
# Input: a valid mailman list name (with archives)
#
PATH2ARC="/var/mailman/archives/private"
#
# Check that the list name is valid and the archives exist
if [ ! -f $PATH2ARC/$1.mbox/$1.mbox ]; then
echo ERROR: $1 is not a valid mailman list with archives
echo (be sure to use all lower case)
echo " "
exit 0
fi
#
PATH2MB="/home/user/mail"
#
# Check that mbox has been created...
if [ ! -f $PATH2MB/$1 ]; then
echo ERROR: could not find mailbox $1 in path:
echo $PATH2MB
echo Please check that root path to mailbox is correct.
echo " "
exit 0
fi
#
# Number of lines in IMAP header
IHEAD=13
#
mv $PATH2ARC/$1.mbox/$1.mbox $PATH2ARC/$1.mbox/$1.mbox.bak
#
j=`cat $PATH2MB/$1 |wc -l`
k=$(( j - IHEAD ))
tail -$k $PATH2MB/$1 > $PATH2ARC/$1.mbox/$1.mbox
chown mailman.mailman $PATH2ARC/$1.mbox/$1.mbox
#
# now lets remove the old archive files and regen
# the archives with the new mbox!
rm -rf $PATH2ARC/$1/*
/var/mailman/bin/arch $1
===
The scripts aren't tested, but should be good for a quick start!
Take care. Hope that helps someone.
Jon Carnes
More information about the Mailman-Users
mailing list