タグ » メール «

2010/11/27 土曜日 | 投稿者: aqua

こんばんは、aquaです。

忙しいときに限って自宅サーバが壊れる。一時的に読み込み専用のファイルシステムになったのに、再起動したら直っちゃったから先延ばしにして使い続けたからかな。遂に再起動しても読み込み専用のままで書き込みできなくなってしまった。ディスク2枚あったしミラーしていたはず、とか思いつつ見てみると何もしていなかった。ミラーだとオペミス救えないから、手動で同期しようと考えて何もしていない。自宅サーバの運用はずさんの典型になるね。読み込みだけできるうちに別のディスクへデータを退避。

実際にはあらゆるメールを自宅サーバで受け取っていたので想像以上に不便。一刻も早く直したいが仕事は忙しいし、細かい移行を考えている余裕がない。思い出したのが、さくらのVPS。仕事でも仮想サーバは使っていたし、思ったよりも便利な印象。もともと、さくらの専用サーバには入っていて、そこで動かしている機能をVPSに移して、毎年10万円以上かかっている専用サーバをやめようとも考えていた。4、5年前のサーバスペックに10万円かかるって、コストパフォーマンスが異常に悪く感じてしまう。

さくらのVPSはすぐに使えるって事で、早速申し込む。リソースはメモリ512MB、ディスク20MBと少な目だが、DNSやメール程度であれば充分。仮想化はKVMで完全仮想らしい。しばらくすると準備が整って、VPSコントロールパネルから操作してみる。CPUとかトラフィックがグラフで見れる。リモートコンソールで、普通にコンソール作業も出来るね、便利。rootのパスワード変更がわからないので、とりあえず再インストールを試してみる。CentOS5の64bitでセットアップが完了。ログインしてみると、特にエコーバックの遅延もなく快適に使える。

DNSは専用サーバの方で動かしていたので、とにかくメールサーバを移行する。postfix + postfixadmin + cyrus-sasl + dovecot + mysqlで構築。自分で作ったとはいえ、めんどいな。既に仕事で徹夜続きなのに、この対応作業で更に眠れない。が、死ぬ気で作るとすごい早さ。人間の底力って侮れないねwww 何とか出来たもののsmtpのポートが動かない。iptablesを取っ払っても変わらず。改めてさくらのHPを見直すと、評価期間中はsmtp使えない模様。即座に本契約に切り替えてメールサーバ復活!!疲れた・・・。

カテゴリ: 技術系  | タグ: , ,  | コメント
2010/04/30 金曜日 | 投稿者: aqua

こんばんは、aquaです。

メーラはbeckyを利用していたが、個人メール環境をimapに切り替えてから、ぼちぼちthinderbirdを使い始めてる。thunderbird 3.0がリリースされて全文索引が付いたり、魅力的な多くのプラグインが作成されていたりと、そろそろ本格的にthunderbirdへの切り替えを検討する。まず既存メールの移行だが、幾つかのサイトで紹介されている通り、それほど難しくなかった。CircleBeckyというbeckyのプラグインを利用する事で、mbox形式でメールデータをエクスポート出来る。各フォルダごとに1ファイルの形で生成される。

これらのファイルをthunderbirdのメール・フォルダへ移す。その際に拡張子の.mboxは削っておく。この状態でthunderbirdを起動すれば、フォルダのままでメールとして認識してくれる。しかし、thunderbird 3.0では全文索引を作成する事になるので、メール数によっては膨大な時間の索引更新が発生する。多くの場合、フォルダによるメール仕分けからthunderbirdらしいタグ管理に移行するので、一旦は索引更新を停止してメンテナンスする方が効率よい。ツール→オプション→詳細でグローバル検索の更新のチェックボックスを外すだけ。

最初はbeckyと同じ管理方式で30個くらいあるフォルダにそれぞれメールを振り分けていたが、フォルダを選択するだけで数秒待たされる程の遅さ。完全にディスクアクセスによる遅延なので、10年以上の間に貯まった100万通近いメールがよくないのだろう。これまた3.0から実装されたアーカイブ機能を使って、2010年のメール以外をアーカイブ・フォルダへ移していく。これでフォルダ選択は早く動くようになったものの肝心のタグ検索が遅い。フォルダ横断的にタグ検索をするのが原因か。何パターンか試験した結果、フォルダ数を減らす事でチューニング可能と判断。

不要になったフォルダを削除したり、一緒に出来るフォルダをマージしたり、30はあったフォルダを5個に減らした。thunderbird向けのデータ構造へと変更させた結果、タグ検索も高速化した。マージしたメーリングリストなども検索フォルダで絞り込んで表示できるように設定しておいた。そして、停止していた全文索引の更新を有効化する。全文索引の対象はアーカイブ領域も含まれるため、数日に渡って索引メンテナンスが必要だった。索引メンテ中は頻繁にウィンドウズが凍りつく時間があるので、かなり不便。寝てる時間などのみ索引更新を有効にして徐々に作成していくのがよいだろう。

カテゴリ: 技術系  | タグ: ,  | コメント
2009/02/23 月曜日 | 投稿者: aqua

こんばんは、aquaです。

先日、構築したMTA環境(postfix + cyrus-sasl + dovecot)に合わせて、MUA環境を構築する。要件としては、複数あるクライアントやメアドについて、どの環境からも透過的にアクセスできる事。また、クライアントのメーラ毎に振り分けを行うと、それぞれの振り分けが同期できない上に設定が面倒。なので複数メアドのメールを一箇所に集めて、振り分けはサーバ側で行い、IMAPでアクセスする事が理想。特にサーバ側のスパム受信で発生するエラーメールは削除、スパムそのものもスパムとしてマークする。おまけで、携帯メアドからきた場合は、個人携帯アドレスへ転送したりする。

複数メアドのメール受信はfetchmailで行い、集めたメールをprocmailで振り分ける。スパム判定はprocmailからspamassassinへ転送する形で実現する。spamassassinはベイジアン・フィルターでスパムの判定を行うが、学習用のサンプル的なスパムメールがなかったので、ネット上に落ちていたコンフィグ・ファイルを使用してスコアリングを行う。結果としては、かなり過剰なスパム判定になってしまった・・・。スパムメールは削除せずに専用ディレクトリに貯めているので、余力が出来たときに学習させる予定だが、なかなか後回しにしちゃって出来ないねw

上記ルールでユーザー・ディレクトリ上にメールが集まる。これをサーバ内で閲覧するときにはmuttを使用する。ターミナル上で使用できて、インターフェースもvi系コマンドで操作できるのが自分好み。軽く調べてみると、いろいろなパッチが準備されているようだが、今回は複数ディレクトリを行き来し易くなるサイドバーを追加する。使い慣れたメーラーの感覚で言うと、通常のmuttは2ペインでエクスプローラ部分みたいのがない。このパッチを適用するとサイドバーが追加されて、よくあるメーラのような3ペインの状態になる。更に、abookというターミナル上で動作するメールアドレス帳も、muttと連携できるのでオススメ。

ターミナル上でメールを閲覧する事の唯一の弱点が添付ファイル。殆どの場合、添付ファイルはWindows上で使用するので、結局Windowsクライアント側に転送する必要がある。この問題を解消するために、muttのディレクトリ体系をそのままでWindows上のメーラからもアクセス出来るようにしたい。結論から言うと、thunderbirdでIMAPを使用する事で実現できた。振り分けも全てサーバ側で実施済みなので、Windowsクライアントにthunderbirdをインストールするだけでmuttと同様の感覚でメールを閲覧する事が出来る。

以上の環境で、ほぼ当初の要件を達成するメール閲覧環境が完成した。以下、参考までに。

カテゴリ: 技術系  | タグ: ,  | コメント
2009/01/25 日曜日 | 投稿者: aqua

こんばんは、aquaです。

本日はサーバのメール環境について。今まではqmailとqmail-vidaを利用していた。しかし、今回のサーバから64bit OSに変更した為か、qmail-vidaのコンパイルが通らなくなった。殆どバージョンアップのないqmail(作者のポリシーもあるだろけど)を使い続けることにそろそろ疑問を感じ始めていた時期でもあったので、最近流行のpostfixにトライすることにした。他の機能で何度も触れている通り、なるべくデータはMySQLに格納するように設定する。ウェブで調べた結果、以下の構成が理想的。

  • cyrus-sasl (MySQLを使ったSMTP認証)
  • dovecot (MySQLを使った認証およびpop3, pop3s, apop, imap, imaps)
  • postfix (SMTP over SSL)
  • postfixadmin (ブラウザによるアカウントやエイリアス管理)

更に加えるとdovecotでは、MySQLによるバーチャルユーザー認証だけでなくOS認証もサポートする。今回はMTAの話なので細かい事は後日にするが、複数のメールアカウントが存在している為(この点については皆さん共通の悩みだよね)OSユーザーに全てのメールを集約している。実際にメールを読み出すのは、OSユーザーで認証を通したり、またはターミナル上でCUIツールを利用する事になる。

さて、処理の流れとしてはpostfixadminでブラウザにてアカウント作成やエイリアスの転送設定などを行う。そこで作成したアカウントを利用してpostfix + cyrus-saslにてSMTP認証を行う。更に同一のアカウントに対して、dovecotがpop認証やimap認証を行う。旧環境との互換性のためにapopを引き続きサポートするのと、SMTPもpop & imapも暗号化通信(SSL)ができる事とする。可能であれば、MySQL上に格納するパスワードを不可逆の暗号化したかったが、これはdovecotが対応していなかったので諦める。いつの間にかパスワードを忘れていたりするから、フラットに読めた方が助かったりするんだけどねw

セットアップ自体は割りとスムーズに進んだ。はまったのはやはりpop & imapにてMySQL認証とOS認証を併存させる事と、MySQLのテーブル上にあるパスワード情報を不可逆暗号化させようとした事だけ。前者はコツコツ調べて実現、後者はいろいろ試したけどやはり実現できなかった。作ってみた結果としては、めちゃめちゃカスタマイズ余地のあるpostfixに変更して大正解という感想だ。メルマガみたいな一括送信はqmailが強いというのが一般的だが、いつかメルマガを書けるような身分になるまではpostfixで充分そうだw

以下、参考までに。

カテゴリ: 技術系  | タグ: ,  | コメント