会社のメールサービスをGoogleAppsへ移行してみた。(4) -Gmailで自分のメールが送信箱に入らない問題

hottolinkblog2008-07-08

こんばんわ。あさのです。

けっこう間が空いてしまいました。
いちおう、このシリーズ最後です。次のネタ考えてます。

さて、GoogleApps移行につての第4回はGmailの送信メールの仕様に起因するある問題とその対策についてです。

Gmailが登場した時に、従来のメールの使い方をまったく変えてしまうインパクトがありました。
その多くは、私たちに恩恵を与えてくれるものでしたが、個人で利用するサービスとは違い、法人のサービスとして利用する場合は、利用者はそうした変化を歓迎する人たちばかりではありません。

Gmailの導入は、従来のメール業務をバージョンアップする、ということに近いインパクトがあります。

従来の枠組みの中で最適化された業務フローを構築して来た人にとっては、「新しい便利な機能」よりも、「前のやり方がそのまま使える」ことの方が重要になることが多いものです*1
そのひとつにしておそらく最大の問題が「Gmailで自分のメールが送信箱に入らない問題」です。

自分に送ったメールがPOPで受信できない。

自分で自分宛てにメールを送ることがありますか?ほとんどの人は、メールサーバーとの接続確認のための最初のメールくらいしか思いつかないかもしれません。

でもビジネスでは以外に多くの人がこれを使っています。例を挙げると。

備忘録として送る。

 ビジネス上のやりとりがメール中心になると、大事な要件もメールの中にあります。大事な事項をスケジュールやメモに転載するよりも自分に送ってしまう人が多いようです。

TODO管理として

上の発展系として、自分のTODOをメールで送り、未読=未完了としてステータス管理している人がいました。

メーリングリスト

自分が属しているメーリングリストへの投稿は自分にも送信されます。

話題の流れをスレッドで管理

メーリングリストでも多いのですが、メーラーのスレッド機能を使うと返信関係がひとまとまりになって話題を追いやすくなります。


Gmailではこれらのことが、出来なくなります

正確に言うと、GmailのWebメーラー上では出来るのですが、POP受信するローカルのメーラーを使う場合には出来なくなります。なぜなら、自分が送ったメールが、”受信箱に来ない”からです。

なぜ来ないのか。

Gmailに限らず、メールは送信メールサーバーによって個別にIDが振られます。
メールの一意性をこうして確保していますが、Gmailで自分宛のメールを送信すると、Gmailの送信サーバーでIDが振られたメールがGmailに届きます。
Gmailは送信記録も残しますので、同じIDのメールが、送信済みメールと受信トレイにあることになります。

するとどうなるか。

Gmailは送信済みメールを優先します。

正確には、ひとつのIDのメールに、送信済みメールと受信トレイという情報(タグ?)が付加されて、振り分けでは送信済みメールの方が優先されるということらしいです。

受信トレイにないとどうなるか。

POPで拾ってこれません。

つまり、ローカルのメーラーに落ちてきません。

人力検索にあった質問

結論

完璧な対策はありません。

ですが、Gmailはいろいろな方法でアクセス可能なので、Gmailの恩恵を受けたい人、従来のやり方を変えたくない人の共存は可能です。

以下は、パターン別のお勧め設定と、そのメリット、デメリットをまとめたものです。

Gmailのサービスをそのまま使う。

一番楽な方法です。新しいやり方に慣れてしまいましょう。自分宛のメールがPOPできないだけです。

独自SMTPサーバーを立てる。

送信サーバーがGmailでなければ自分が出した自分宛のメールをPOPすることができます。メリットは受信箱に自分宛のメールが来ることです。デメリットは自分がメンバーになっているMLか自分を宛先に送らない限り、自分が送信したメールがGmail上の送信済みメールに来ないことです。ローカルのメーラーの送信済みに入っているからそれで良いという人もいるかもしれませんが、自分に送っていない自分のメールがGmail上でスレッド表示できなかったり、Gmailの検索で引っかかってこないのでちょっと悩みます。

また、メールサーバーの設置・安全な運用には技術力が必要です。
送信ドメイン認証技術(SPF)に対応したメールサーバー(Yahooメールとか)にスパム扱いされるため、メールドメインセカンダリ以降に登録する必要があります(プライマリはApps)。
また、無制限はスパムの踏み台になり、接続元のIP制限のみだとモバイルで送れないので送信元認証が必要になります。送信元認証は共通アカウントでも良いですが、利用者の退職等でパスを変えたい時に面倒なので希望者に個別発行する運用になります。
もちろん、サーバー台、電気代、ラック代その他維持するのに費用もかかります。

IMAP4

POPではなく、IMAP4クライアント機能があるメーラーを使いましょう。メリットはローカルのメーラーとWebメーラーで同じデータをもてること。ローカルでもWebメールでも、自分が送信したメールは送信済みメールに入っているので、スレッド表示等が可能です。デメリットはネットがつながらない時に困る(メーラーによってはオフライン時でも使えて、オンライン時に同期を取ってくれるみたいです)。そして遅い。

試してみたけどダメだった方法。

実は、独自のSMTPサーバーを立てる、という方法があることはかなり初期の段階で分かりました(たいていは、別のメールサービスの送信サーバーを使う、という紹介ですが)。

ただ、維持費用がかかるのと、上にもある認証の問題が面倒なので、なんとかもっと運用が楽な方法が無いかを探りました。

結論としてはダメだったんですけど。

でも、ここで説明しておかないと、同じことをして悩む人が出てくるかもしれない。もしかしたら、もっと良い方法を思いつくヒントになるかもしれない。ということで晒しておきます。

別のAppsアカウントを作る。

メールアドレスはあて先だけが重要で、送信アドレスは、メーラーで設定するから、送信のアカウントは何でもいい。同じアカウントでなければメールは届くので、送信用のAppsアカウントを作れば良いんじゃい。という発想。

ここで驚きのGmailの仕様が発覚。Gmailの送信サーバーは、メーラーで設定した送信アドレスを、送信時の認証で使ったアカウントのアドレスで書き換える。
しかし、これは設定>アカウントの「他のメールアカウントを追加」を設定しておけば、追加されたメールアドレスは上書きされない。

しかし、アカウント毎に課金されるので金が倍かかる。無料のGmailアカウント使えばいいじゃない、というのはこのApps移行の議論の出発点から考えるとNG。結論。論外。

送信用のアカウントを作る。

金が倍かかる、というのが嫌なら送信専用アカウントを作れば良いんじゃない?っていう発想。

しかし、Gmailの送信アドレス書き換えの仕様に阻まれる。「他のメールアドレスを追加」で全員アカウント分を登録すれば防げるが、非現実的。
なにより大問題なのは、送信専用アカウントでログインすると(送信につかっているので使う人はIDとパスを知っている)、送信済みメールに、このアカウントを経由して送ったメールがすべて見れてしまう。論外。

社内ネットワークに独自SMTPサーバーを立てる。

グローバルにおいておくとセキュリティ対策等が面倒。社内のFW内なら運用が楽。という発想。

しかし、送信するホストと、メールのドメイン(@以下)が違うので、送信ドメイン認証技術(SPF)に対応したメールサーバー(Yahooメールとか)にスパム扱いされる。
何より、出先でAir-Edgee-mobileを使っている人は使えない。惜しいが除外。

"recent:"オプションを利用。

GoogleのPOP受信のアカウントの前に"recent:"を付けると、POPの振り分け状態にかかわらず、最新30日以内のメールを取れるらしい。
これで、送信済みメールに行ってしまった自分宛のメールも受信できる。
ただ、切り替え直後は同じメールを受信する羽目になる。

一度受信してしまえば、その後は差分かもしれないが、1ヶ月ン千件のメールを受信してみる気になれず未検証。ともかく、他人にお勧めできるシロモノじゃない。

Gmailから送信したメールについて

Gmailから送信したメールは、Gmailの送信済みに入り、かつローカルのメーラーでもPOP出来ます。これをローカルのメーラーで送信済みフォルダなどに振り分ければ、送信済みのメールが分散しないようになります。
これを利用すれば、Gmailメーラーも、自分が送ったメールを全て管理できます。

今回の独自SMTPサーバーを立てる方式だと、Gmail上で、ローカルのメーラから送信したメール(自分をあて先に含まないもの)が管理できなくなります。

なかなか思い通りには行かないものです。

おわり

ということで、フリも含めて4回でホットリンクのGoogleApps導入記(?)を紹介しました。最初から書くネタは決まっていたのですが、結局1月も掛かってしまいました。

*1:単純に新しいモノが良くて旧いものはダメということではなく、非標準の技術や仕様に依存すると技術の変化に弱いということです