Courier-IMAP pop client
POPサーバーからIMAPのINBOXへメールを取得する
Courier IMAPへログインするたびに、POPサーバーからIMAPのINBOXへメールを取得するには、shell script ~/Maildir/loginexec を作成し、この中でfetchmailを呼び出せばよい。
MTAは立てないが、IMAPは立てるという場合に使える手。MewはincするたびにIMAPへログインするので、iを押すたびにfetchmailを実行してincするという動作になる。
Courier IMAPは認証が通るたびに ~/Maildir/loginexec を実行する。 このときloginexecが戻り値0を返すと、Courier IMAPはloginexecを削除してしまう。しかし0以外を返せば、削除されず、認証のたびにloginexecが実行されることになる。
loginexec:
#!/bin/sh export HOME=put_your_HOMEDIR_here PIDFILE=~/.fetchmail.pid FETCHMAIL=/usr/local/bin/fetchmail BSFILTER=~/bin/bsfilter NEWDIR=~/Maildir/new SPAMDIR=~/Maildir/.spam/cur LOGFILE=~/log/loginexec.log ( echo ----- begin date if [ -f $PIDFILE ]; then echo $PIDFILE was found. another fetchmail may be running ... else $FETCHMAIL NEWMAILS=`ls ~/Maildir/new | wc -l | sed -e 's/ //g'` if [ X$NEWMAILS != X0 ]; then echo execute bsfilter. $BSFILTER -a --list-spam --max-mail 1000 --min-mail 800 $NEWDIR/* | xargs -iMAILS mv MAILS $SPAMDIR/ fi fi echo ----- end ) >> $LOGFILE 2>&1 exit 1