1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

fetchmail + maildrop + mutt で(gmailの)メール受信環境構築

Last updated at Posted at 2017-02-09

イントロ

最近大学から重要なメールがよく届くようになりました。

というのも、来年度から研究室に配属されるので、その講座配属に関する結構重要な情報がメールで来てました。

で、頻繁にブラウザ開いてgmail行ってログインして見てたんですけど、これ結構時間かかるのですよね、それで、なんとかできないかなぁとか思ってました。

そこで、もうCUIで操作できるmailer環境構築しちゃおうかなと思いやってみました。
ディストロは archlinux でやってます。

メール受信

fetchmail

インストールは、以下で

# pacman -S fetchmail

まず、fetchmailでgmail上にあるメールをPOP3経由で取得するための設定をします。
設定ファイルは ~/.fetchmailrc です

.fetchmailrc
  poll pop.gmail.com                # gmailのpop3サーバ
    protocol pop3                   # 使用するプロトコル
    port 995                        # gmailpop3サーバのポート
    uidl                            # pop3サーバから重複したメールを受取らない仕組み(UIDL)を使用
    flush                           # メールを受取ったらgmail側でメールを削除
    no rewrite                      # ヘッダーを書き換えない設定
    no mimedecode                   # 文字化けしないようにする設定
    user "your.address@gmail.com"   # 受け取りたいメールサーバのアドレス
    pass "Your gmail password"      # メールサーバのパスワード
    ssl                             # ssl通信をするという宣言
    mda "maildrop"                  # maildropをmdaに指定

以上でuserで指定したgmail宛に来たメールを取得できます。ですが、まだ、ユーザが見れるような状態ではないので、その辺を maildrop にやらせます。

maildrop

インストールは、

[http://www.courier-mta.org/download.html#maildrop]

からダウンロードして、ビルドします。

$ tar jxvf /path/to/download/maildrop.tar.gzip
$ cd maildrop
$ ./configure
$ ./make
# ./make install

で、インストールできます。

maildropは、フィルターと呼ばれるスクリプトで、

if( 件名にhogeを含むなら ) {
  hogeボックスへ
}
if( Fromメールアドレスが*@example.comなら ) {
  example.comボックスへ
}

と言うようにメールの振り分けを行います。

設定ファイルは ~/.mailfilter です。

.mailfilter
MAILDIR = "$HOME/Maildir"
DEFAULT = "$MAILDIR/"

to "$MAILDIR/"    # 何も指定しない場合は $DEFAULTに飛ばされるので 実際は必要ない

ほんとは

if (/^From:.*@example.com/)
{
    to "$MAILDIE/example.com"
}

とかやって振り分けるんですが、今は特に振り分けなくていいかなということで全部同じとこにぶち込んでます。

ここまでやったら、maildropで振り分けたメールを保存するディレクトリ、メールディレクトリを作成します(maildropはMaildir方式です)。

$ maildirmake $MAILDIR

コマンドでmaildirのディレクトリを作成するとができます。

ここまでやれば、

$ fetchmail

コマンドでメールを取得できるはず。
でも、maildir形式のデータ構造なので、テキストエディタとかで見ようと思って見れないことはないけどまともに見れません。

そこで、 mutt を今回使いました。

mutt

インストールは、以下で

# pacman -S mutt

muttはCUIで操作できるメールクライアントです。
主に、メールの閲覧に使うつもりです。
設定ファイルは ~/.muttrc です。

.muttrc
set mbox_type =   Maildir # 
set folder    = ~/Maildir # 
set spoolfile = ~/Maildir # 

set assumed_chareset = "iso-2022-jp:euc-jp:shift_jis:utf-8" # 文字符号化方式を使われていない場合のcharset
set charset          = "utf-8"  # muttでデータを入出力する際のcharset

こんな感じでfetchmailで取ってきて、maildropで振り分けたメールを閲覧できるようになります。

参考になるページ

[http://www.uetyi.com/server-const/linux-server/entry-72.html:title]

[http://www.mutt.org/doc/manual/:title]

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?