ログ日記

作業ログと日記とメモ

gmailは期待以上に便利じゃないな・・

Re:スパムフィルタ (#1118551) | Googleによる「Gmail 劇場」 | スラド

同Subjectのメールがまとめられてしまうためログレポートのようなメールだとか、MLによくある「質問」的Subjectが混ざってしまう。そして分離できない。

同じタイトルでもまとまってないなぁ。テストってタイトルを何通も送ったけど大丈夫だった。

日本のMLにありがちな番号付きMLは全部別スレッド。

これも大丈夫。スレッド関連は改善されたんだろうか?

任意のヘッダでフィルタできない。
せっかく拡張アドレス (account+extention) が使えるのに、To/Ccに載っていないとフィルタで識別できない。

これが痛い。痛すぎる。ブログとかで「何でもかんでもgmailで」とか記事が結構あったから、てっきり当然のごとく対応してるのかと思った。ヘッダでフィルタできないと複数のメールを転送しても分類できないじゃないか。電八的な振り分けをしたい・・。
そもそもラベルとか振り分けずに検索が一瞬なんだからいいじゃないかって考えなのかな?どうなのgoogleさん。


5個ぐらいのドメインならtoに全部書いてもいいが、何十個もなると非効率だ。webmaster@とかを全部gmailに転送しようと思ってたのに・・・地道一個一個にやるかなぁ・・。

ノーパソが熱すぎる

メールをgmailにしたら必要なくなるんだけど折角インストールしたのでGoogleデスクトップ検索を使うことに。gmailも一緒に検索できるみたいだし。


でも、HDDが熱すぎる。元々熱を持つlet's noteだからなー。HDDLifeの警告出まくり。
大丈夫か?やっぱり前のHDDが1年経たずに壊れた原因はGoogleデスクトップ検索とLookoutか?


メールは全部で何通あるんだろう・・古いデータも入ってるから今のところ5万通インデックスされてる。管理者ってメールはどこに保存してるんだろう。

エイリアス、フォワードを追加する

manを読めば十分だけど分かり難い部分もあるので。

# エイリアスの追加
dbmail-users -c user1@example.com -s user2@example.com
dbmail-users -c user1@example.com -s user3@example.com
dbmail-users -c user1@example.com -s user4@example.com

# フォワードの追加
dbmail-users -x user1@example.com -t user5@foo.example.com
dbmail-users -x user1@example.com -t user6@foo.example.com

ただし存在するユーザに対して転送アドレスを設定した場合は、dbmail-users -l で確認できない。フォワードデータの検索は、実ユーザまたはエイリアスを発見した時点で終了されてしまうからだ。


参考(になるか分からないが・・) The domain name archivesat.com is for sale | Undeveloped
dbmail_aliasesテーブルを直接覗けば確認できる。



# 補足

2つ以上のアドレスに転送も出来る。ローカルに格納しつつ転送も行われているようなのだが、まだよく分かってないので確認中。また、エイリアスや転送が何度も重なった場合の動作もまだ調べてない。
マニュアルよりソースを読むのが早いかなぁ・・。


# 追記

格納しつつ転送が出来たり出来なかったり、gmailに弾かれたり、動作が不安定で分からん・・・。

dbmailの転送設定が分からなさすぎる

まず、gmailに弾かれてたのはhotmailから送るのをやめたら解消した。


で、フォワードの設定。

dbmail-users -a foo@example.com
dbmail-users -x foo@example.com -t foo@gmail.com

とやった場合。
あるユーザではローカルに格納しつつ転送もしてくれるんだけど、別のユーザではローカルに格納してくれねええ。
何度もコマンド繰り返してたからどこか気付かない設定をしてしまったんだろうか。
それとも、postgresqlのselectで取得する順番に関係があるとか・・。現状では存在するユーザに対して転送設定を行わないのが吉か?


いや、しかし、、


って書いてる間にhotmailで送ったものがgmailに届いた。

エイリアス経由で格納&転送した場合はさっきまでダメだったユーザでも両方OKだ・・・もうわけがわからない。


ちなみに両方に届いてた方のメールアドレスは、エイリアス経由だと転送されない。
やっぱりsqlのデータを取得する順序に関係がありそう。厳密な仕様が決まっていなくて、order byを付けていないとpostgresqlのデータは通常新しいものほど後に取得するのでそれが関係してそうだ。

転送設定が解決した

やっと仕組みを理解した。

dbmail-users -a username
dbmail_usersとdbmail_mailboxesにデータを作成する
dbmail-users -c username -s alias
dbmail_aliasesにdbmail_mailboxesに対応するデータを作成する
dbmail-users -x username -t forward
dbmail_aliasesに転送メールアドレスを追加する


で、次に配送手順。

  1. ユーザ名をdbmail_aliasesテーブルから検索する
    • データが存在する
      • 配送(複数の場合は、その全てに配送)して終了
  2. dbmail_usersテーブルを検索する
    • データが存在する
      • 配送(一ユーザ)


ゆえに

dbmail-users -a username
dbmail-users -x username -t forward

とやっただけでは dbmail_aliases テーブルのforwardが優先されるので、ローカルには配送されない。
そこで

dbmail-users -a username -s username
dbmail-users -x username -t forward

のようにユーザ名と同じエイリアスデータを作成する。エイリアステーブルの検索結果が複数あった場合はその全てに配送されるので、これでローカルと転送先の両方に配送できる。


エイリアスのデータは

   alias   | deliver_to
-----------+------------
 aliasname | 1
 forward   | othername

のように格納されているので、エイリアス後に転送は行われない。上記の1というのはmailboxのidで直接そこに格納される。