X-CSA-Complaints
List-Unsubscribe
List-ID
List-ID can be retrieved from a OpenEMM Variable while the other two are implemented via environment variables, which are set in the openemm.sh script.
Code: Select all
XCSAComplaints="whitelist-complaints@eco.de"
ListUnsubscribe='[agnDYN name="0.0 header-unsubscribe-URL"/][agnUID]'
export XCSAComplaints="whitelist-complaints@eco.de"
export ListUnsubscribe='[agnDYN name="0.0 header-unsubscribe-URL"/][agnUID]'
To implement this we had to change only one file of the sourcecode. This is the BlockCollection.java.
Here is the diff output:
Code: Select all
200a201,220
> public String headHKNSpecial() {
> String xCSAComplaints, unsub;
> try {
> xCSAComplaints = System.getenv("XCSAComplaints");
> unsub = System.getenv("ListUnsubscribe");
> } catch(SecurityException e) {
> // access not permitted
> xCSAComplaints = null;
> unsub = null;
> }
> return
> "HList-Id: " + data.mailinglist_id + data.eol
> + (unsub != null
> ? "HList-Unsubscribe: " + unsub + data.eol
> : "")
> + (xCSAComplaints != null
> ? "HX-CSA-Complaints: " + xCSAComplaints + data.eol
> : "");
> }
>
235a256
> head += headHKNSpecial();