mail の設定

fetchmail で gmail でメールをダウンロードし、 bsfilter でスパムの判定を行ない、maildrop で振り分ける。 送信は msmtp で行う環境を作る。 OS は Ubuntu 10.04。

インストール

apt-get install fetchmail msmtp maildrop

fetchmail

~/.fetchmailrc (pop を使う場合)

オプションによっては gmail からダウンロードする場合に pop を使うと 問題がある(後述)。

set no bouncemail

defaults
    protocol pop3
    keep
    no mimedecode
    mda "/usr/bin/maildrop"

poll pop.gmail.com
  port 995
  user [your_user_name]@gmail.com
  password **********
  ssl

~/.forward

.forward の設定は以下のようになっていたが、必要なのかどうか忘れた。

"| exec |/usr/bin/maildrop || exit 75"

maildrop

~/.mailfilter

$HOME/.maildrop/ にログを保存しておくので、 mkdir ~/.maildrop

でディレクトリを作成しておく。

HOME=/home/your_user_name
MAILDIR="$HOME/Documents/Maildir/"
MAILDROP="$HOME/.maildrop/"

logfile "${MAILDROP}maildrop.log"

xfilter "/usr/bin/bsfilter --pipe --insert-flag --insert-probability --auto-update"

`reformail -D 10000 ${MAILDIR}reformail.txt`
if ($RETURNCODE == 1)
{
  if (/^X-Spam-Flag: Yes/)
  {
    to "${MAILDIR}.spam"
  }
  else
  {
    to "${MAILDIR}"
  }
}

Maildir 用のディレクトリを作成する

$HOME/Documents/Maildir/ にメールを保存するために Maildir 形式のディレクトリを作る。 maildirmake コマンドを使うのが手っ取り早い。

maildirmake ~/Documents/Maildir

cur、 new、 tmp の3つのディレクトリができる。 これらのディレクトリがないと、メールをダウンロードするときに うまく処理できない。

msmtp

~/.msmtprc

ディレクトリ /home/your_user_name/.msmtp/ もなければ作成しておく。

account [your_user_name]@gmail.com
host smtp.gmail.com
tls on
tls_certcheck off
auth on
user [your_user_name]
password **********
port 587
auto_from on

logfile /home/your_user_name/.msmtp/[your_user_name]@gmail.com.log

gmail で使用するときの注意

fetchmail を使って pop でダウンロードしていたら、 あるときからメールがダウンロードできなくなった。 「999番目のメッセージを読み飛ばしました。メッセージを削除しませんでした。」 というメッセージが出てダウンロードできなくなった。

keep と uidl のオプションがいけなかったらしい。 keep オプションを外し、~/.fetchids を削除してダウンロードし直すと治った。

gmail で pop は推奨されていないようなので、imap を使うことにした。 ダウンロードするときに、削除するような設定にしても、 複数回ダウンロードされないだけで、gmail には残っている。 imap を使うために ~/.fetchmailrc を変更する。

defaults
  protocol imap
  uidl
  nokeep
  no mimedecode
  mda "/usr/bin/maildrop"
 
poll imap.gmail.com
  port 993
  user *****@gmail.com
  password *****
  ssl

Tags of current page

, , ,