情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

Gmailですべてのメールを漏れなくしっかり転送する方法

Gmail (46) メール (14) 対策 (19)

Gmailの転送設定では、迷惑メール判定したメールは転送してくれません。つまり、間違って迷惑メールフォルダに入ってしまったメールを、転送先のメールアドレスから確認できないのです。

そこで、Gmailですべてのメールをもれなく転送する方法を考えたいと思います。

ここからはずっと検証が続くので、結論だけ読みたい方は、一気に最後の見出しの「結論まとめ」に飛んでみてください。

フィルタによる転送に移行する

転送設定をOFFにする

「設定>転送」にある転送設定で、「転送を無効にする」を選択して、「変更を保存」を選びます。

これで、もう一つの転送手段である「フィルタによる転送」が設定できるようになりました。

今回は、この「フィルタによる転送」で頑張ってみます。

設定方法

まず、検索ボックスの横にある▽のボタンを押すと、検索オプションが表示されます。 ここでフィルタの条件が設定でき、「この検索条件でフィルタを作成」をクリックすると、フィルタにひっかかったメールをどうするかの設定画面に移動できます。

その画面で「次のアドレスに転送する」から、転送先メールアドレスを指定し、「フィルタを作成」をクリックすることで、転送が開始されるという仕組みです。

ここから、実際にこのフィルタによる転送でいろいろ実験してみます。

パターン1:「すべてのメール(迷惑メールを含む)」

まずは、迷惑メールを検索対象にした状態で、何も指定しないという方法をとります。

設定

「この検索条件でフィルタを作成」をします。すると、

「label:」、「in:」、「is:」などの条件やスター(「has:yellow-star」など)では受信メールとは一致しないのでご注意ください。

本当に次のステップに進んでもよろしいですか?

と表示されますが、これは、ラベルなどはフィルタの実行順序に影響されるので注意してくださいという警告であり、全くラベルが機能しないという意味とは限らないらしいので、ここでは無視して先に進みます(参考:「label:」、「in:」、「is:」などの条件やスター(「has:yellow-star」など)では受信メールとは一致しないのでご注意ください。 | code up

すると、なぜか次の画面で検索ボックスに「label:ast」と入力されます。なにか気になりますが、このまま転送先を指定して、フィルタを作成してみましょう。

結果

全くメールが転送されなくなってしまいました。失敗です。

パターン2:「すべてのメール(迷惑メールを含む)」+「from:(*)」

とりあえず、何かしら条件を設定しようと言うことで、Fromにワイルドカード(*)を設定してみることにします。

設定

まず、パターン1のフィルタは削除しておきます。次は、先ほどの設定に加えて、「From」の条件に「*」を入力してみます。先ほどと同じ警告が出ますが、今度は「from:(*) label:ast」が検索ボックスに入力されました。先ほどの「label:ast」に加えて「from:(*)」が追加されています。

結果

はい、全く転送されません。

astはやっぱりアスタリスク(*)なのでは?

「label:ast」が特別な意味を持つ気がしましたが、よくよく考えてみると、「ast」というラベルを作ったらどうなるんでしょうか。

もしや、「ast」は「*」のような意味で、実は「*」なのではないか、と。

パターン3:「label:(*)」

では、「label:(*)」を試してみます。

設定

「設定>フィルタ」にあるパターン2で作成したフィルタの「編集」をクリックします。そして、「含む」にある「label:ast」を「label:(*)」に書き換えて「続行」をクリックします。最後に、次の画面で「フィルタを更新」をクリックしてフィルタの編集を完了します。

結果

これまた全く転送されません。もしかして、「label」がまずいのでしょうか。

パターン4:「*」

設定

次は、先ほどと同様にフィルタを編集し、「含む」を「*」だけにしてみます。

結果

またまた、普通のメールすら転送できません。

逆に、「*」を疑ってみます。

パターン5:「From:(.)」

検索条件を「From」に「.」を含むという条件だけにしてみます。「.」ならどんなメールアドレスにも含まれるはずであると考えたわけです。

設定

設定は、やはり既存のフィルタを編集すると簡単です。今度はFromのところを「.」にします。

結果

普通のメールが転送されてきました!迷惑メールは…ダメでした。

パターン6:「label:(*)」+「from:(.)」

設定

先ほどは「label:(*)」が無かったので、迷惑メールを含め損ねていたのではないか、ということで、「label:(*)」を追加してみました。

結果

普通のメールがまた届かなくなってしまいました。

パターン7:「from:(.)」+(「from:(.)」+「in:spam」)

スパムをどうにか転送したいので、「in:spam」を追加したフィルタも追加してみようという魂胆。

設定

設定では、「from:(.)」だけのフィルタに新しく「from:(.)」に「in:spam」を加えたフィルタを追加します。「label:(*)」のときと同様「含む」のところに「in:spam」と書けばOKです。

結果

考え過ぎだったようです、迷惑メールは転送されません。

やはり、「label」や「in」系は正しく動作していないのではないか、という気がしてきます。

パターン8:「label:(.)」+「迷惑メールにしない」

ここまでから、検索に引っかかっても転送されていないのではないか、つまり、迷惑メール判定されたメールは、特別に転送しないようになっているのではないかと予想してみました。

つまり、迷惑メール判定される時点で負けであると。

そして、ここでフィルタの動作の指定にある「迷惑メールにしない」という設定を使ってみようと思いました。迷惑メールにしないだけじゃしょうがないと思って全く注目していませんでした。

設定

ということで、今のところ成功していた「label:(.)」に「迷惑メールにしない」というチェックボックスONを追加したフィルタを作成してみました。

結果

通常のメールも、今まで迷惑メール判定されていたメールも、転送に成功しました!万歳

ただ、なにか冗長な気がするのでもう一工夫。

パターン9:「通常の転送設定」+「...?」

ここで、通常の転送設定に、「迷惑メールにしない」のフィルタを追加すればいい、つまり【「通常の転送設定」+「迷惑メールにしない」】にすればいいと思ったのですが、これ、できないんですね。

なぜかというと、フィルタの条件が無いから。フィルタの条件がないとフィルタを作成できません。

結論

パターン8で良いのではないか、という結論に至りました。対策をまとめます。

1.既に転送設定している場合は、解除する。

まず、通常の転送設定をOFFにします。

2.転送用フィルタを作る

次に、「From」に「.(ドット)」を指定したフィルタを作成します。

検索条件に一致するメールが届いたとき、「次のアドレスに転送する」と「迷惑メールにしない」を設定します。

完成

以上で、すべてのメールが転送されるようになった、はず、です。

この設定にした場合、この設定を作成したアカウントでは、迷惑メールフィルタが無効状態になり、スパムフォルダに振り分けてもらえません。つまり、受信トレイがスパムで溢れる可能性があります。

しかし、そもそもの前提として、この転送用アカウントを常用しているならば、スパムフォルダを普段から見ることが可能なはずなので、そのことについて気にする必要はなさそうです。

まとめ

とりあえず、転送専用Gmailアカウントを持っている場合は、通常の転送設定ではなく、「転送用フィルタ+From(.)+迷惑メールにしない」にするのがよさそうです

label:astなど、不明な部分も残りましたが、いい加減検証が面倒なので、気にしないことにします。また、「迷惑メールにしない」で転送したメールが、本アカウントで「迷惑メール」と判定されるのかは事件していません。

実験環境

いちよ書いておくと、転送元のGmailの設定はOperaで行い、通常のメールはyahooメールのアドレスから送信してテストしました。

スパムメールはどう用意したかというと、まずWordPressのコメントお知らせメールを送信元メールアドレスに飛ばし、そのメールをスパムフォルダに移動することで、それ以降スパム判定される状態しました。その後、コメントを書き込むことで同様のメールを送信元メールアドレスに飛ばして、スパムメールの送信テストを行いました。

これでちゃんと動作しているか若干不安ですが、とりあえずこれで様子を見たいと思います。

結論まとめ

読み飛ばした人用に、対策をまとめて書きます。

1.転送設定を外す

「設定>メール転送とPOP/IMAP>転送:」で「転送を無効にする」を選択します。

2.転送用フィルタの条件を設定する

検索ボックスの右の逆三角形をクリックして、詳細検索を表示します。

「From」に「.(ドット)」一文字だけを入力して、「この検索条件でフィルタを作成」をクリックします。

3.フィルタの動作を設定する

次の画面で、「次のアドレスに転送する」にチェックを入れて、「アドレスを選択...」から、転送先アドレスを選びます。

さらに「迷惑メールにしない」にチェックを入れて、「フィルタを作成」をクリックして完了です。転送用のフィルタが完成します。

以上。ご利用は自己責任で。これで完璧なのかまだ試し切れていないので。

追記

2012年5月現在、ここに書いた対処法を適用したgmailアカウントからの転送が失敗している模様です。何か仕様変更があったか、バグを踏んでしまっているのかもしれません。ここに書いた対処法を利用する際には、転送が正しくできるかテストを行った後、しばらくの間、正しく転送できているかをチェックしてからのご利用をお願いいたします。

詳細はこちら:「最近TwitterやFacebookからメールが来ないなぁと思っていたら

コメント(1)

  1. 鬼木博文(おにきひろふみ)
    2013年9月16日(月) 23:34

    背景:
    到来メールを一旦Gmailへ転送し、Gmailからは、迷惑メールを除くすべてを携帯に再度転送しています。
    よって外出先でも到来メールを読むことが出来るようにしています。
    それで、Gmailが一旦は迷惑と判断したものでも、正常のメールの箱に移すと、新たなメールが来たとして、遅れてもちゃんと携帯へ転送されていたように認識しておりました。
    ところが、今回Gmailの迷惑メールを正常メールのホルダに移しましたが、携帯に届きません。
    単なる遅れなのか、Gmailの設定か分かりません。
    それで、次のことをやりましたが、解決しません。よろしくお願いします。
    やったこと:
    教えて!に質問をしたところ、貴ブログを紹介頂き、それに従いフィルタを作成しましたところ、最後次のエラーコメントが表示されます。
    なお、元々転送先として、携帯のアドレスを与えていましたが、今回無効にし、改めて同じ携帯アドレスを指定しました。
    「フィルターの作成エラー
    無効な転送先アドレスです。このアドレスは、受信メールの転送先として既に使用されています。」

新しいコメントを投稿