3

[nameA|nameB|nameC]@example.orgこれは、送信されたメールをプライベートなメール アドレスに転送するように sieve を構成する方法の例です。

if address :localpart :is ["To","Cc","Bcc"]
 ["nameA", "nameB", "nameC"] {
    redirect "<my private email address>";
    stop;
}

ただし、送信先のアドレスが「Received」ヘッダーのどこかに隠されているために、メールが転送されないことがあります。

Received: from ###server### ([###ip_address###])
    by ###server### with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256)
    (Exim 4.84)
    (envelope-from <###email_address###>)
    id 1alDM0-0000yT-60
    for nameA@example.org; Wed, 30 Mar 2016 12:28:00 +0200

ふるいルールでもこれらのメールをキャッチする効果的な方法はありますか?

4

2 に答える 2

1

ふるいのインデックス機能を利用して、Received ヘッダーから受信者アドレスを解析できます。

BCC ソートの場合、通常は次のようにします。

require ["fileinto", "envelope", "variables", "mailbox", "index", "subaddress"];
...
if header :index 3 :matches "Received" "*<*@example.com>*" {   
  set :lower "foldername" "${2}";
  fileinto :create "inbox.${foldername}";
} elsif header :index 2 :matches "Received" "*<*@example.com>*" {       
  set :lower "foldername" "${2}"; 
  fileinto :create "inbox.${foldername}";
}
...

受信したメールの Received ヘッダーでは、アドレスが山かっこで囲まれているため、上記の例のパターンを選択しました。

さらに、Received ヘッダーの数が異なる場合があるため、少なくとも 2 つの異なるヘッダーをテストします。

于 2016-12-17T09:41:33.667 に答える