Hello,

You can check with the sieve index extension if a particular Received: header 
(e.g. the third top most, depending on your setup) has received a message from 
inside or from outside, based on some regular expressions.  This check could 
also be done based on From header, or envelope sender.  (But the last two 
variants can be faked, unless you use DMARC).

Once a Sieve script determines that a message is from outside, 
• it can add a header (with the editheader extension), or
• set a flag like \\Flagged, or 
• move the message to a sub-mailbox(directory).
• You can also try to use variables, store in a variable the subject of the 
email, remove the subject header, prepend text to it, and add the new subject.  
This breaks however DMARC/DKIM, if at any moment later is decided to evaluate 
DKIM again.

I do not think it is possible to prepend text to the message body.  This is 
hard to implement, if the message has three alternative MIME parts - icalendar, 
text, html - prepending text in HTML is hard, and prepending text in iCalendar 
is ... something very new.  But it is not clear which MIME part out of all 
alternatives the use wiil open, so you are asking to prepend text in all 
alternative MIME parts.


Concerning your other message about vacation not sent, when vacation messages 
are sent, an entry in the deliver.db database is made - 
https://www.cyrusimap.org/imap/concepts/deployment/databases.html#duplicate-delivery-deliver-db
 - to track when for last time a vacation message was sent.  You can look there 
if there are entries.  If sieve REJECT does not work for you, this means that 
Cyrus IMAP is not configured to send emails and for this reason it does not 
send vacation/out-of-office
responses.

>From your examples:

> anyof(address :contains ["To","TO","Cc","CC"] "[email protected]", address 
> :contains ["To","TO","Cc","CC"] "[email protected]")

You probably want to rewrite the above to the equivalent - see 
https://datatracker.ietf.org/doc/html/rfc5228.html#section-5.1 - 

> address :contains ["To", "Cc"] ["[email protected]", "[email protected]"]

and use instead of :contains → :is (or the lack of [MATCH-TYPE], which implies 
:is) 

Greetings // Дилян

-----Original Message-----
From: Dr. Thorsten Brandau via Info <[email protected]>
Reply-To: Info <[email protected]>
To: [email protected]
Subject: Insert a message for outside Emails?
Date: 28/08/25 19:30:17

I am looking at various sieve folders and wonder if anyone tried to 
create a filter that inserts a message like "Email from Outside Adresse" 
at the beginning of each message body, if the sender domain does not 
match the local one.

Is that possible?

I am getting my emails via fetchmails -> postfix -> cyrus, so something 
in postfix itself would not work.

Cheers

TB


------------------------------------------
Cyrus: Info
Permalink: 
https://cyrus.topicbox.com/groups/info/T4061c7db816fcf5c-Mfa1ed01a2531d5440cfdb680
Delivery options: https://cyrus.topicbox.com/groups/info/subscription

Reply via email to