Solved
ACC - Listheader unsubscribe
How do I create a listheader unsubsribe based on a typology rules?
How do I create a listheader unsubsribe based on a typology rules?
Hello @jkkkkkkkkkkkkkkkkk
I believe you are trying to use the typology rule to automatically add a list-unsubscribe header to the deliveries.
You can use this code to do that:
function addHeader(headers, header, value) {
var headerLine = header + ": " + value;
var regExp = new RegExp(header + ":(.*)$", "i")
var headerLines = headers.split("\n");
for (var i=0; i < headerLines.length; i++) {
var match = headerLines[i].match(regExp)
if ( match != null ) {
// replace the existing header line
headerLines[i] = headerLine;
return headerLines.join("\n");
}
}
// add a new header line
headerLines.push(headerLine);
return headerLines.join("\n");
}
function getHeader(headers, header) {
var regExp = new RegExp(header + ":(.*)$", "i")
var headerLines = headers.split("\n");
for each (line in headerLines) {
var match = line.match(regExp)
if ( match != null ) {
return match[1].replace(/^\s*/, "");
}
}
return "";
}
var header = getHeader(delivery.mailParameters.headers, "List-Unsubscribe");
if ( header == "" ) {
// List-Unsubscribe header needs to be added
delivery.mailParameters.headers = addHeader(delivery.mailParameters.headers, "List-Unsubscribe", "<mailto:<%@ include option='NmsEmail_DefaultErrorAddr' %>?subject=unsubscribe<%= escape(message.mimeMessageId) %>>");
}
else if ( header.match(/message\.mimeMessageId/) == null ) {
// message ID need to be added for gmail
header = header.replace(/subject=unsubscribe/, "subject=unsubscribe<%= escape(message.mimeMessageId) %>")
delivery.mailParameters.headers = addHeader(delivery.mailParameters.headers, "List-Unsubscribe", header);
}
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.