Eu preciso recuperar algumas partes de uma mensagem que se parece com
Subject: Test message
Message-Id: <[email protected]>
Mime-Version: 1.0
Content-Type: multipart/report; boundary="----=_Part_fba0c199dfcd4d60ae506b37a6320a84"; report-type=notification
To: [email protected]
Date: Mon, 17 Sep 2018 16:21:45 -0400 (EDT)
From: [email protected]
------=_Part_fba0c199dfcd4d60ae506b37a6320a84
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
BTW, this is the correct notification ... it should be "failed" not "failure".
------=_Part_fba0c199dfcd4d60ae506b37a6320a84
Content-Type: message/notification
Content-Transfer-Encoding: 7bit
Final-Recipient: rfc822; [email protected]
Original-Message-ID: <[email protected]>
------=_Part_fba0c199dfcd4d60ae506b37a6320a84—
por exemplo, preciso pegar o que está depois Final-Recipient: rfc822;
e Original-Message-ID:
armazená-los como variáveis
Eu tentei fazer algo como
if body :raw :contains ["Original-Message-ID:"] {
set "Original-Message-ID" "${0}";
}
mas a variável definida como Original-Message-ID
não contém o que está depois dela na mensagem.
Descobriu-se que o teste do corpo definitivamente não funcionará com variáveis de correspondência:
https://www.rfc-editor.org/rfc/rfc5173#section-6
As extensões do MIME Sieve provavelmente fornecerão o que é necessário https://www.rfc-editor.org/rfc/rfc5703 ou
pipe
mensagem para um script e processá-lo lá, o que fiz no meu caso.