Adressatenbasierte Verteilung von E-Mails an einzelne Teams
Im Tutorial Absenderbasiertes Routing wurde gezeigt, wie Sie mit todo4teams das Routing abhängig vom Absender einer E-Mail steuern können.
Im folgenden werden wir zeigen, wie Sie das Routing auch vom Adressaten der E-Mail abhängig machen können. Dieser Fall ist ein wenig komplizierter, weil eine E-Mail mehrere Adressaten haben kann - bei denen es sich zudem um CC- oder BCC-Adressaten handeln kann.
Ein typischer Fall ist das folgende Beispiel aus der Praxis: Sie bieten Ihren Kunden diverse E-Mail Adressen, über die eine Kontaktmöglichkeit besteht. Intern werden die an diese Adressen eingehenden E-Mails an eine Mailbox geroutet, d.h. bei einem Teil der Adressen handelt es sich um sogenannte Alias-Adressen.
Nun sollen basierend auf den tatsächlichen E-Mail-Adressaten die in todo4teams eingehenden E-Mails und die daraus generierten Tickets an darauf spezialisierte Teams gerichtet werden.
Diese Funktionalität kann mit Hilfe der "Eintreffen-Aktion" innerhalb des Eigenschaften-Dialogs der entsprechenden Mailbox abgebildet werden. Hierfür ist es erforderlich, ein Script in der "Eintreffen-Aktion" dieser Mailbox zu verankern.
Zur Umsetzung ein Beispiel: Es existieren die einzelnen E-Mail Adressen test@test.com (als Postfach) sowie test1.@test.com und test2.@test.com als Alias-Adressen.
Tickets an die Adresse test1.@test.com werden an das Team 25 verteilt, Tickets für die Adresse test2.@test.com an das Team 26.
Alle anderen Mails, die nicht diese Adressaten beinhalten, werden an das Team 27 geroutet; dies können u.a. die E-Mails sein, die direkt an die Mailbox test@test.com adressiert wurden.
Passen Sie bitte für Ihre eigenen Zwecke die E-Mail Adressen und die betroffenen Teams an.
Sollten noch weitere Anpassungen erforderlich sein, können Sie uns gerne unter support@bergener-bluma.de kontaktieren.
Im Skript werden zunächst alle Adressaten in einer Zeichenkette allRecipients zusammengefasst.
In dem if/else-Konstrukt wird dann geprüft, ob der relevante Adressat darin enthalten ist und es wird das passende Ticket-Routing gewählt.
var numRecipients = message.getAllRecipients().length;
var allRecipients = "";
for (var i = 0; i < numRecipients; i++) {
var recipient = message.getAllRecipients()[i];
allRecipients += recipient.toString()+", ";
}
if(allRecipients.indexOf('test1@test.com')>-1) {
helper.routeToGroup(25);
} else if(allRecipients.indexOf('test2@test.com')>-1){
helper.routeToGroup(26);
} else {
helper.routeToGroup(27);
}