本当に古いメールアドレスの1つをGmailに転送しました。その古いアドレスへのメールが常に送信されるように、フィルタを作成したいと思います。 Gmailで適切にラベル付けされています。
そのアドレスを含む「To:」でGmailフィルタを作成できますが、そのアドレスへのすべてのメールをキャッチするのではなく、1つだけをキャッチします。 多くの場合、他の誰かが明示的な受信者であり、私の古いアドレスは単にBcc “dであったスパムがあります。 「To:」フィルターが機能しません。
「Delivered-To:」ヘッダーでフィルターをかけるのが好きです。 Gmailでそれは可能ですか、それともFrom、To、Subjectの3つの標準オプションに固執していますか?
コメント
- 関連:カレンダー通知用のGmailフィルターを作成する
回答
はい、配信先でフィルタリングできます。 has the words
フィールドにdeliveredto:[email protected]
を使用して新しいフィルターを作成するだけです。
コメント
- あまり直感的ではありませんが、そうです。 BCCをサポートするには、ほとんどの
to:
は実際にはdeliveredto:
である必要があると思います。 - これはワイルドカードでも機能しますか?たとえば、
deliveredto:*@mydomain.com
で catch-all email アドレスを使用しますか?試していますが、テストに時間がかかります。 - Gmailの上部にある検索バーを使用して高度な検索を作成し、検索バーの端にある矢印をクリックして選択することができます。 "この検索でフィルターを作成します。"
- これでは、配信先以外のヘッダーの問題は解決されません。 ? (自動送信ヘッダーまたは優先ヘッダーを検索するとします)
- ヘッダーテキストが"<であるのはかなり不快です' / div> Delivered-To:"一方、"には"フィールドがあります。 div id = “510deebff9″>
-'を生成して"を生成:"。
回答
すべての高度な演算子のリストは次のとおりです。
from:
to:
subject:
OR
-(hyphen)
label:
has:attachment
リスト:
ファイル名:
“”(引用符)
()
in:anywhere
in:inbox
in:trash
in:spam
is:important
is:starred
is:unread
is:read
has:yellow-star
has:red-star
has:orange-star
has:green-star
has:blue-star
has:purple-star
has:red-bang
has:orange-guillemet
has:yellow-bang
has:green- check
has:blue-info
has:purple-question
cc:
bcc:
after:
before:
old:
newer:
old_than:
newer_than:
is:chat
deliveryto:
circle:
has:circle
category:
size:
large:
small:
+(プラス記号)
rfc822msgid:
has:userlabels
has:nouserlabels
[ソース]
コメント
- ありがとうございます。それらのページでさえ、NOT演算子
-
がワイルドカードアドレスで機能するかどうかを判断するのが困難です。例:iv id =の-*@mydomain.com
“4ca4003f45″>
フィールド
回答
- https://script.google.com 新しいGoogleAppsScriptを作成する
-
「Gmail用のスクリプトを作成」オプションを選択します
- これによりスクリプトプロジェクトが作成されます
- これにより、
Code.gs
- これにより、
processInbox
<という名前のサンプル関数が作成されます。 / li>
というスクリプトが作成されます。
-
プロジェクトを保存
- スクリプトをカスタマイズして、満足するまでテストします
-
[カスタムプロジェクトのトリガー]ボタンを見つける
- これにより、スクリプトを実行できますタイマーで(例:毎日、または毎分)
例:
processInbox
この関数は、受信トレイ内のすべてのメッセージを繰り返し処理します。
function processInbox() { // process all recent threads in the Inbox (see comment to this answer) var threads = GmailApp.search("newer_than:1h"); for (var i = 0; i < threads.length; i++) { // get all messages in a given thread var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var message = messages[j]; processMessage(message); } } }
さらに一歩進んで、 GmailApp.search()
GmailApp.getInboxThreads()
の代わりに何か凝ったことをしたい場合。
processMessage
この関数は、単一のメッセージの処理を処理します。 getRawContent()
で生のコンテンツを取得し、そこにヘッダーを見つけようとします。ヘッダーがそこにある場合は、メッセージにタグを付けます。
function processMessage(message) { var body = message.getRawContent(); if (body.indexOf("X-Custom-Header: some-custom-value") > -1) { // do stuff with message (e.g. add label) } }
コメント
- 私の証明されていない直感的な反応は、グーグルがユーザーを止めるための何かを用意するということですギグに相当する生の電子メールコンテンツを毎分ループします。したがって、' " var thread = GmailApp.getInboxThreads(); " with " var thread = GmailApp.search(" newer_than:1h "); "
- まだ読んでいない受信トレイ内のすべてのメールを検索するために
var MyEmails = GmailApp.search("is:unread in:inbox");
を使用しています - @ Rick-IMAPインターフェースを使用してGmailアカウントの13GB以上をすべてウォークスルーするスクリプトを作成しました。 ' script.google.comで許可されていても、'驚かないでください。
- 来てくれる人のためにこれを正確に実行しようとしていたように、'メッセージにラベルを追加することはできません。スレッドにのみ追加できるため、'実行する必要があります
message.getThread().addLabel(GMailApp.getUserLabelByName("Some Label"))
- メッセージのヘッダーを取得できます。これは、特に添付ファイルのあるメッセージの本文を検索するよりも優れている可能性があります。
回答
deliveredto:
演算子は<で使用できます@mvimeが示すように、フィルターを作成するときのdiv id = "a10e26ac65">
フィールド。ただし、すべてのメールプロバイダーがメールヘッダーにDelivered-to
を追加するわけではないため、より信頼性の高い方法は[email protected]
を、deliveredto:([email protected])
でフィルタリングします。