Outlook2007で正規表現でメール仕分けができない?

このQ&Aのポイント
  • Outlook2007を使用している際に、正規表現を使ったメール仕分けができないか悩んでいます。
  • *******.infoドメインからのスパムメールが頻繁に届いており、単純なフィルタリングでは対処できません。
  • 正規表現を使ってメールアドレスの判別を行いたいのですが、Outlook2007では可能でしょうか?
回答を見る
  • ベストアンサー

Outlook2007で正規表現で仕分けたい

Outlook2007を使っています。 最近、*******.infoというドメインのメールアドレスから頻繁にスパムメールが届きます。 *******の部分は英数字7桁のランダムで、数日毎に新しくしているらしく、 ドメインでの単純なフィルタリングでは対処できません。 迷惑メールの処理レベルを「高」にすれば良いのかもしれませんが、 説明文には「通常のメールも処理されるかも」と書かれており、それはさすがにNGです。 しかしこのスパムのメールアドレスは、正規表現なら容易に判別できます。 アカウント部分も3種類しか無いようなので、 [mag|info|mail]@[a-z0-9]{7}\.info とでも書けば一発です。 そこで質問なのですが、Outlook2007で正規表現を使ったメール仕分けはできないのでしょうか。 ご存知の方いましたら、よろしくお願い致します。

  • mokpok
  • お礼率62% (154/245)

質問者が選んだベストアンサー

  • ベストアンサー
noname#160239
noname#160239
回答No.2

No1です。 >ルールって『または』のORしか無理なんでしょうか。 Office Outlookでは、同じ条件項目では、ORしか使えず、また、他の条件項目を同時にはうまく設定できないと思います。 つまり、「すべての条件を満足」はANDでつなぎ、「一部の条件を満足」はORで繋ぐことができれば、1つのルールで、色々な対応ができますけど、Outlookは寸足らずのルールしか設定できません。 同じMicrosoft製のOutlook ExpressやWindows Liveメールでは、メッセージヘッダは条件に使えないですが、例えば、 〇送信者に'a' または 'b' または 'c'を含む場合(およびも可能) および 〇メッセージ本文に'a' または 'b' または 'c'を含む場合(およびも可能) のような条件設定ができます。 多分、開発チームの違いで理解できない結果になっているのだろうと思いますが、笑えないですね。

mokpok
質問者

お礼

ありがとうございます。 うーん、なかなかうまくいかないものですね・・・

その他の回答 (1)

noname#160239
noname#160239
回答No.1

>アカウント部分も3種類しか無いようなので、 この記述の後に書かれた「文字列」はメッセージヘッダですか? そうでしたら、POPアカウントの場合 ○メッセージヘッダに「特定の文字」が含まれる場合 の条件に。OR(か)で3種類の文字列を追加し、 ○仕分けルールの処理は「削除する(復元できません)」 の設定で、受信時に直ぐに受信トレイから完全に削除、削除済みアイテムにも行かないと思います。 ただし、サーバーにメッセージのコピーを残す設定の場合は、サーバーには残って状態ですが、アカウント設定のサーバーからの日数経過後の削除設定で消えると思います。

mokpok
質問者

お礼

ありがとうございます。 確かにmagまたはmailまたはinfoが含まれるメールを弾けばこのスパムは弾けますが、 ちょっと大雑把すぎて誤検出のリスクが高そうです。 そこでちょっと正規表現以外について検討したところ、 これらのスパムは全て、メールの配信解除の案内がついていました。 ※解除申請したところで別ドメインから届きますが そこで、教えて頂いたメッセージヘッダのルールに加え、 本文に「配信」「解除」「http://」の『全てを含む』というルールを付ければ・・・ と思ったのですが、ルールって『または』のORしか無理なんでしょうか。 ANDができれば高精度なルールが作れそうなんですが・・・

関連するQ&A

  • 正規表現

    info@*.com というアドレスを正規表現で表したいのですがどうすればいいのでしょうか? spam filter の レシピを書いているのですが info@.*.com では正しくないようですり抜けてしまいます。

  • 秀丸の正規表現

    秀丸の正規表現 http://pc.dearie.jp/hidemaru/replace/14.html 上記URLでメールの正規表現について解説があります。 [A-Za-z0-9\-\.\_]+@[A-Za-z0-9\-\_]+\.[A-Za-z0-9\-\.\_]+ この正規表現でメールの検索をおこなっています。この正規表現は理解出来ます。 .*([a-z0-9\-\.\_]+@[a-z0-9\-\_]+\.[a-z0-9\-\.\_]+)([^a-z0-9@\.\-\_]+).* キャプチャを使って正規表現でメールアドレスをマッチしているのは理解できます。 なぜ置換で、「\1,」とやっても、メールアドレスのみを取得できないのでしょうか? 実際に秀丸エディタを使ってやってみましたが、メールアドレスのみ取得することができませんでした。 検索ではメールアドレスにマッチするのに、なんでキャプチャが正しく動かないのかがわかりません・・・

  • 正規表現について

    正規表現について質問が有ります。 プログラミング初心者なので、根本的な間違い等も犯している可能性もありますがご了承下さい。 今、javascriptを使ってフォームに入力されたメールアドレスの入力チェックを行おうとしています。 とりあえずはwebを漁って見つけたソースでチェックできる様にはなったのですが、もうちょっと拡張したいと思った所、つまずいてしまいました。 元のソースは if (!this.value.match(/^[\x01-\x7F]+@((([-a-z0-9]+\.)*[a-z]+)|(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}))$/){ alert("error"); } という風にチェックをしており、 ******(@マークが無い) ***@(@の後半が無い) @***(@の前半が無い) などの基本的な形式に対してはチェックを行う様になっています。 しかし、hoge@hogeの様に書くと、適当に書いたドメインでもスルーしてしまいます。 そこで、ドメインのチェックも行おうとしているのですが、ここで詰まっています。 ちなみに今回は携帯のアドレスに限定してチェックを行おうと思っています。 javascriptでの正規表現について書いてあるページを見ながら下の様に書いたのですが上手く動作してくれません。 正規表現の書き方がおかしいのだろうとは思うのですが、どこがいけないのかよく分かりません。 if (!this.value.match(/^[\x01-\x7F]+@((([-a-z0-9]+\.)*[a-z]+)|(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}))$/) || /*ここから下を追加*/ (!this.value.match(/@(docomo|ezweb|softbank)\.ne\.jp$/) || !this.value.match(/@i\.softbank\.jp$/)){ alert("error"); } 最初はもとからある基本的な入力形式のチェックを行い、また@後のドメインが携帯のドメインでない場合にエラーを返す。というつもりで書きました。 ですが、***@docomo.ne.jpとしてもエラーが返って来てしまいます。 原因を教えていただけますか? また、もとからあった正規表現が何をどういう指定しているのかもキチンとは理解していないので、教えていただけるとうれしいです。 よろしくお願いします。

  • メールアドレスの正規表現について

    こんにちは。 メールアドレスの正規表現について調べていたら、  \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* という正規表現が色々なサイトで見つかりました。 素人には何が何だか分からないのですが、この正規表現を素人でも わかる文章で表現するとどんな内容になるのでしょうか? 例:アドレスの部分は英数字記号で、アットマークで区切られて・・ という感じです。 よろしくお願いいたします。

  • 正規表現について

    正規表現について勉強しているのですが、 $aaa = "http://あいうえお.こむ/"; $bbb = "http://www.あいうえお.こむ/"; $ccc = "あいうえお.こむ/"; 同じドメイン名ですが、それぞれ変数に入っている値は違います。 これらのドメイン部分を取り出す正規表現はどのようになるのでしょうか。

    • 締切済み
    • PHP
  • 正規表現が解読できません。

    ツールが対象ファイルを認識する規則が正規表現で記載されているのですが、 正規表現について無知なため、解読することができずに困っております。 ネット等で検索し、[A-Z0-9]や{4,4}など部分的には解読することができたのですが・・・ FILE_COPY.REGEX1=<ABC>\t.+\\\\ABC(\\\\.*)?\\\\[A-Z0-9]{4,4}[0-9]{3,3}[A-Z0-9]+\\\\[A-Z0-9]{4,4}[0-9]{3,3}[A-Z0-9]+\\.gz FILE_COPY.REGEX2=<DEF>\t.*\\\\[^\\\\]*(?<\!\\.tar) FILE_COPY.REGEX3=<GHI>\t.+\\.xml\\.gz どなたかお時間のある方がいらっしゃいましたら、ご教示いただけないでしょうか。 どうぞよろしくお願いいたします。

  • 正規表現の表現パターンについて教えて下さい。

    こんばんわ、正規表現を使ってある文字列を検索するプログラムを勉強していたのですが、 eregi('(http://|https://)[a-z0-9./_\-]+',第二引数、第三引数) となっていたのですが、第一引数の最後の + の部分はどうゆう意味があるのでしょうか? 僕の理解では[ ]の間が検索する正規表現のパターンだと思っているのですが、、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 正規表現メタ文字「-」のエスケープについて

    いつもお世話になります。 正規表現のメタ文字のエスケープ処理を行いたいのですが、「-」の記号については、「[」「]」の中に出てきたときのみ([a-z]、[0-9]など)、エスケープの対象になります。 この場合、どのような正規表現を指定すれば、エスケープを行うことができるでしょうか。 例)  [a-z|A-z] ⇒ [a\-z|A\-z] 宜しくお願いします。

  • 正規表現にて、複数の単語を指定する方法

    質問タイトルが意味不明だったらすみません。 当方、Perlが何であるかも知らないド素人です(^^U どなたか正規表現の書き方をお教えくださいませ。   現在わたくしは、海外在住の友人がPCのセキュリティを怠っていた事が原因で、 海外から一日に数十通届いてしまうスパムメールに頭を悩ませております。 わたくしが使っているプロバイダー『WAKWAK』では、迷惑メールのブロック機能はあるのですが、 件名に含まれている単語もしくはアドレスを指定してブロックするという、ごく基本的な設定は簡単にできるものの、 それ以上細かい指定になると正規表現で記述しなければいけないという、素人には非常にキビシイものになっており、困り果てております。 そこで、どなたか --------------------------------------------------------------------------------- アドレスの最後が『.com』となっているもののうち、 友人が使っている『~hotmail.com』や『~yahoo.com』(や、その他いくつかのドメイン) 以外をブロックするための記述 --------------------------------------------------------------------------------- を教えて頂けませんでしょうか? ちなみに、WAKWAKのメールブロックの指定方法は、 まず"from" "Received" "Return-path"などの、どの部分にかかるのかを指定してから 正規表現を記入するようになっています。 (※参考URL(設定方法画面)はhttp://www.wakwak.com/info/mail/guide_mail.html です。) お時間のある時にどうぞよろしくお願い申し上げます。

    • ベストアンサー
    • Perl
  • メルアドをチェックする正規表現?

    こんにちは,よろしくお願いします。JavaScriptでメルアドをチェックしようと次のような文字列を,patternという変数に代入して, var pattern = "^[a-z0-9\-_.]+@[a-z\-]+(\.[a-z\-]+)*com|net|org|edu|gov|mil|int|info|biz|name|pro|museum|aero|coop|[a-z][a-z]$"; 次のようにチェックしたのですが, if(mail.match(pattern)){・・・ "aa"など,2つ以上の小文字のアルファベット文字列にマッチしてしまいます。つまり,@が入っていなくてもマッチしてしまいます。実は,正規表現の解説書を見てこのような文字列としたのですが,JavaScriptでは不都合な点があるのでしょうか?ご存知の方がいらっしゃいましたら,ご教授ください。よろしくお願いします。

専門家に質問してみよう