mailsync a novémaily
To |
CZ-debian list <czdebian-l zavinac debian bod cz> |
From |
matej zavinac ceplovi bod cz (Matej Cepl) |
Date |
Sat, 18 Jan 2003 00:53:32 -0500 |
Mail-followup-to |
CZ-debian list <czdebian-l zavinac debian bod cz> |
Organization |
Northeastern University |
User-agent |
Mutt/1.3.28i |
Snažím se zapojit mailsync do zpracovávání mailů (na konci by to
mělo přijít do muttu, ale z různých důvodů nechci používat
Maildir soubory) a mám dva problémy z mbox foldery:
1) Jak zjistit kolik nových zpráv je v mbox folderu? V Maildiru
stačilo spočítat soubory v ./new adresáři. Existuje nějaká
utilita?
2) Jak zjistí mutt jestli jsou zprávy nové (příznak N) nebo
nečtené (příznak O)? Proč stále tvrdí, že nemám žádné nové
zprávy, ale všechny zprávy, které jsou ve skutečnosti nové
jsou O?
Pro zajímavost přikládám všechny příslušné skripty.
Dokážete mi někdo odpovědět?
Děkuji,
Matěj
--
Matej Cepl,
Finger: 89EF 4BC6 288A BF43 1BAB 25C3 E09F EF25 D964 84AC
138 Highland Ave. #10, Somerville, Ma 02143, (617) 623-1488
I know of no country in which there is so little independence of
mind and real freedom of discussion as in America.
-- Alexis de Tocqueville
#!/bin/sh
# $Id: procppp,v 3.7 2003/01/17 22:13:04 matej Exp $
WAS_ON=0
TIME_TO_WAIT=2
. /etc/default/ntp-servers
/sbin/ifconfig | grep -q '^\(ppp\|eth\)'
WAS_ON=$? # 0 if it IS on
pppon $1 # pripoj se na Internet, nejsi-li uz pripojen
# synchronizace mailu
sudo -u root /usr/sbin/ntpdate -v -b -s $NTPSERVERS
/usr/bin/fetchmail&
/usr/sbin/sendmail -q
/usr/bin/imapfilter
/usr/bin/mailsync -v inbox-local-remote
/usr/bin/mailsync -v vimoutliner-local-remote
/usr/bin/mailsync -v software-local-remote
/usr/bin/mailsync -v spolvedy-local-remote
#zase postfix
while (mailq | grep '^[^ ]*\*' >/dev/null) \
|| (ps aux | grep '^fetchmail' >/dev/null )
do sleep $TIME_TO_WAIT
done
if [[ $WAS_ON != '0' ]]; then pppoff; fi
killspam 2>>~/.bogofilter/killspam-time.log
#!/bin/sh
# $Id: killspam,v 1.11 2003/01/18 00:36:35 matej Exp $
# constants
MAILDIR="$HOME/Mail"
SPAMBOX="$MAILDIR/spam"
BOGODIR="$HOME/.bogofilter"
LOGFILE="$BOGODIR/killspam.log"
function processmbox () {
PROCESSBOX="$MAILDIR/$1"
echo $PROCESSBOX
RAW_TIME=$(export LC_ALL=C;\
ls --full-time $PROCESSBOX | tr -s ' ' | cut -d ' ' -f 6-10)
TTIME=$(date "+%Y%m%d%H%M.%S" -d "$RAW_TIME")
formail -s procmail $BOGODIR/bogofilter.rc < $PROCESSBOX
mv $PROCESSBOX $BOGODIR/backup/$1
mv $BOGODIR/bogofilter.mbox $PROCESSBOX
touch -t $TTIME $PROCESSBOX
echo "Processing $PROCESSBOX." >> $LOGFILE
unset PROCESSBOX TTIME RAW_TIME
}
echo "" > $LOGFILE
processmbox INBOX
processmbox progs
processmbox profi
processmbox vimoutliner
# $Id: procmailrc,v 1.5 2002/11/11 04:09:24 matej Exp $
PATH=/bin:/usr/bin:/usr/bin
MAILDIR=$HOME/Mail #you'd better make sure it exists
BOGODIR=$HOME/.bogofilter
SPAMBOX=$MAILDIR/spam
DEFAULT=$BOGODIR/bogofilter.mbox
LOGFILE=$BOGODIR/procmail.log
:0:
* ^X-Bogosity.*
$DEFAULT
:0fw
| bogofilter -u -e -p
:0:
* ^X-Bogosity: Yes, tests=bogofilter
$SPAMBOX
:0:
$DEFAULT
# $Id:$
# Tomas Pospisek <tpo_deb zavinac sourecpole bod ch>
#
# [1] /usr/share/doc/mailsync/README
# [2] /usr/share/doc/libc-client-ssl2001/naming.txt.gz
# [3] rfc2060
#
#
# Get all mail from the "debian.org" IMAPS (IMAP over SSL)
# server for the user "tpo" (IMAP is the default transport).
# Do not validate the SSL certificate. Get all the
# mailboxes that start with "INBOX." but do not recurse
# into subfolders. Before comparing mailboxes strip off
# "INBOX." form their name. When authentificating use
# "secret" as password.
#
# for the exact semantics of the server line see [2]
#
# (Can anybody lighten me up on what "ref" is?)
#
store neu-imap {
server {neumail04.neu.edu/user=login/ssl/novalidate-cert}
ref {neumail04.neu.edu}
pat %
passwd secret
}
store remote-inbox {
server {neumail04.neu.edu/user=login/ssl/novalidate-cert}
ref {neumail04.neu.edu-inbox}
pat INBOX
passwd secret
}
store remote-vimoutliner {
server {neumail04.neu.edu/user=login/ssl/novalidate-cert}
ref {neumail04.neu.edu-vimoutliner}
pat vimoutliner
passwd secret
}
store remote-software {
server {neumail04.neu.edu/user=login/ssl/novalidate-cert}
ref {neumail04.neu.edu-software}
pat progs
passwd secret
}
store remote-spolvedy {
server {neumail04.neu.edu/user=login/ssl/novalidate-cert}
ref {neumail04.neu.edu-spolvedy}
pat profi
passwd secret
}
store local-inbox {
pat Mail/INBOX
prefix Mail/
}
store local-vimoutliner {
pat Mail/vimoutliner
prefix Mail/
}
store local-software {
pat Mail/software
prefix Mail/
}
store local-spolvedy {
pat Mail/spolvedy
prefix Mail/
}
#
# Let's synchronize our local inbox with the cyrus inbox. The
# synchronization info is kept on the remote cyrus server and
# "secret" is used for authentification
#
channel inbox-local-remote remote-inbox local-inbox {
msinfo Mail/.msinfo
}
channel vimoutliner-local-remote remote-vimoutliner local-vimoutliner {
msinfo Mail/.msinfo
}
channel software-local-remote remote-software local-software {
msinfo Mail/.msinfo
}
channel spolvedy-local-remote remote-spolvedy local-spolvedy {
msinfo Mail/.msinfo
}
# Options #
###########
#
# Some program options, such as log file and non-response server timeout.
#
set logfile = /home/matej/.imapfilter/log
set namespace = no
set timeout=120
set headers=yes
# Accounts and mailboxes #
##########################
account neumail login:secret zavinac neumail04 bod neu bod edu tls1
folder inbox-folder INBOX
# Filters #
###########
filter korejci or
mask header Content-Type euc-kr
mask header Content-Type gb2312
mask header Content-Type ks_c_5601-1987
mask subject ScanMail
action delete Subject
filter killfile or
mask From motl zavinac feynman bod harvard bod edu
mask From MKOHOUT zavinac worldnet bod att bod net
mask From guckes zavinac math bod fu-berlin bod de
action delete From
filter outliner or
mask To vimoutliner
mask Cc vimoutliner
action move vimoutliner
filter prog-discs or
mask To lyx-users
mask Cc lyx-users
mask To cstex
mask Cc cstex
mask To debian-laptop
mask Cc debian-laptop
mask To czdebian-l
mask Cc czdebian-l
mask To usbvisor-unix
mask Cc usbvisor-unix
mask To debian-mentors
mask Cc debian-mentors
mask To swsusp
mask Cc swsusp
action move progs
filter profi-discs or
mask To r-help
mask Cc r-help
mask To stat-l
mask Cc stat-l
mask To acts-talk
mask Cc acts-talk
mask From listmanager zavinac mantle bod sbs bod umass bod edu
action move profi
# Jobs #
########
#
# Last, there is the definition of the jobs where user combines
# folders and filters _already_ defined, and specifies which filters
# should be applied to which folders.
#
job profi-discs inbox-folder
job outliner inbox-folder
job prog-discs inbox-folder
job korejci inbox-folder
job killfile inbox-folder
Partial thread listing: