件名、本文、差出人が空白のメールを受信時に削除するマクロ


コメントにて以下のようなご要望をいただきました。


最近、タイトルなし、本文なし、配信人なしの「豆腐メール」が世間様に大迷惑をかけているようです。
この迷惑メールをOutlookのマクロで、たとえば受信次第削除するというようなことはできないものでしょうか?
もしよろしかったらぜひ作ってください。お願いします。


私は「豆腐メール」と称されているような迷惑メールを受け取ったことはないのですが、件名も本文もないメールなら削除しても問題はないでしょう。このようなメールを受信時に削除するマクロは以下のようになります。

' ここをトリプルクリックでマクロ全体を選択できます。
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim objMsg
    If Instr(EntryIDCollection,",") = 0 Then
        Set objMsg = Session.GetItemFromID(EntryIDCollection)
        If objMsg.Subject = "" And objMsg.Body = "" And objMsg.SenderName = "" Then
            objMsg.Unread = False ' 既読にする
            objMsg.Delete ' 削除する
        End If
    Else
        Dim strIDs
        Dim i
        strIDs = Split(EntryIDCollection, ",")
        For i = LBound(strIDs) To UBound(strIDs)
            Application_NewMailEx strIDs(i)
        Next
    End If
End Sub

マクロの登録方法やメニューへの追加について

件名、本文、差出人が空白のメールを受信時に削除するマクロ」への10件のフィードバック

  1. さっそく使わせていただきました。とくにツールバーなどに登録せずに利用できますね。
    中国から豆腐メールが来るのでとても迷惑だったのですが、これでやっと解決です。

    Outlook/Exchange派の私としてはこのサイトはとても有意義なサイトだと思います。

    今後の活躍にも期待しております。

    • マクロにデジタル署名などは設定されていますでしょうか?
      デジタル署名の方法などが不明な場合は上記の「マクロの登録方法やメニューへの追加について」のリンクをクリックして参照してください。

  2. このサイトを参考にさせていただいています。上記のプログラムをコピーして貼り付けたのですが、ユーザー設定でマクロを選んでも、下のウインドウに何も表示されずに、選択ができません。
    マクロの登録方法やメニューの追加も見させていただき、証明の登録、開発タグに☑、セキュリティセンターの詳細に、警告をするなど、したのですが・・・マクロの登録方法やメニューの追加にあるHellの例文では、うまくいきました。どうか教えていただければ幸いです。アウトルック2010 ウインドウ7 64bit のパソコンを使っています。

    • このマクロはメールを受信した際に Outlook から自動的に呼び出されるものであり、ユーザーが選択して実行できるものではありません。

  3. マクロの一覧に何も表示されないので、てっきり何か失敗したのかと思っていたのですが、メールを受信した際に自動的に呼び出されて勝手に処理(=「削除済アイテム」に移動)してくれるのですね!!そっか、てっきりツールバーに何か追加するものだと思い込んでいました。「削除済アイテム」を確認すると、早速何通もの豆腐メールが移動されていました。大変便利です。ありがとうございました。

  4. こちらのサイトでVBA作成させていただきました。ありがとうございます。
    ただし、
    複数のアカウントで受信すると、必ずデバッグが走って
    Set objMsg = Session.GetItemFromID(EntryIDCollection)
    IDが見つかりません
    となってしまいます。
    解決方法はありますでしょうか?

    • おそらくGetItemFromIDが探す既定のストア以外で受信したメールでエラーとなっていると思います。
      ちょっと回避策を検討してみます。

  5. このメールが1日20通以上届いて非常に迷惑していました。
    この記事を見つけ、マクロを登録しました。
    自動で迷惑メールフォルダに移動され、既読にはなるのですが、「削除済みフォルダ」には移動されません。
    何か方法はありますでしょうか?

    • このマクロでは該当するメールを削除するというものであり、迷惑メールフォルダーに移動するというものではありません。
      そのため、迷惑メールフォルダーに移動されているのであれば、Outlook の迷惑メールフィルターやアドインなどによって処理されていると考えられ、マクロでの対処はできないということになります。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中