Automatische Antwort-E-Mails bei bereits vorhandenen Tickets


Im vorgehenden Tutorial zu automatischen Antwort-Emails hatten wir Ihnen bereits die Grundlagen geschildert, um bei eintreffenden Jobs automatisiert eine Antwort-Email zu versenden.

An dieser Stelle nun möchten wir Sie nun mit erweiterten Möglichkeiten vertraut machen, insbesondere den Umgang mit Reply-to Addressen, der Möglichkeit mittels HTML den Footer zu konfigurieren sowie den Antworttext zu strukturieren.

Sämtliche Möglichkeiten zum Aufbau einer Antwort-Email finden Sie, wie gewohnt, im Tab "Eintreffen-Aktion" der betroffenen Mailbox.

Im ersten Schritt für das Skript definieren wir die im folgenden benötigten Variablen und füllen Sie mit Inhalt.

var id = task.id;
var toEmail = message.getFrom()[0].getAddress();
var css=helper.getServerPropertyByName('emailCss');
var footer = task.source.sourcemailbox.footer;
var emailreplyto = task.getProperty("EMAILREPLYTO");

Die Variablen beinhalten nun folgendes:

  • "id" ist die ID des Jobs in todo4teams als Referenz für den Kunden, unter welcher Nummer das Anliegen bearbeitet wird.
  • "toEmail" ist die Mailadresse des Absenders
  • "css" füllt sich mit dem Inhalt der Servereigenschaft "emailCss" und definiert den CSS-Style der Antwort-Email.
  • "footer" gibt den Inhalt des Signaturtexts in den Basisdaten der Mailbox wider (erster Tab in der Übersicht).
  • "emailreplyto" spiegelt der Inhalt der Reply-To Addresse wider, die der Absender eventuell separat beim Absenden der Email eingeben hat. Im Mozilla Thunderbird zum Beispiel hat diese den Namen "Antwort an".

Bei Bearbeitung eines Tickets und beim Schreiben einer Email-Antwort automatisiert die Reply-To Addresse in das Addressfeld gesetzt, sofern der Absender eine solche gesetzt hat.

Nun definieren wir den Text, den wir verschicken wollen. Der Beispieltext senden eine Antwort sowohl in Deutsch als auch in Englisch und nutzt die Inhalte der oben definierten Variablen "id" und  "footer".

var text = "<html><head></head><body><p>Sehr geehrte Kundin, sehr geehrter Kunde,<br/><br/>\n";
text += "hiermit bestätigen wir den Erhalt Ihrer Nachricht.<br/><br/>";
text += "Wir werden Ihr Anliegen sorgfältig prüfen und uns schnellstmöglich bei Ihnen melden.<br/>\n";
text += "Bei Rückfragen geben Sie bitte die Bearbeitungsnummer "+id+" im Betreff an.<br/><br/>\n";
text += "Mit freundlichen Grüßen<br/>\n";
text += "Muster und Sohn AG<br/></p>\n";

text += "<hr/><p>Dear madam or sir,<br/><br/>\n";
text += "we herewith confirm having received your message.<br/><br/>";
text += "We will check your request and get in touch with you shortly.<br/>\n";
text += "Please note your ticket id for further processing: "+id+"<br/><br/>\n";
text += "With kind regards<br/>\n";
text += "Muster und Sohn Ag<br/></p><br/>\n";
text += "</p><br/>\n";

text += "Betreff Ihrer Nachricht / Subject of your request:<br/><pre>"+ message.getSubject()+"</pre>";

text += "\n<br/><br/>"+footer;

Zum Strukturieren und zur Formatierung des Textes stehen Ihnen die prinzipellen Möglichkeit zur Verfügung, die HTML hergibt wie z.B. Zeilenumbrüche, Einfügen von mailtoAddressen, Bilder einfügen etc. Der so definierte Antworttext wird hierbei in einer separate Variable "text" gespeichert, die wir im weiteren Teil des Skripts noch benötigen.

Die Skriptzeile des o.a. Blockes

text += "\n<br/><br/>"+footer;

spricht hierbei den Signaturtext der Mailbox an. In unserem Beispiel stellt dieser sich wie folgt dar:

--
<table border="0" style="border: none;">
<tr>
<td style="border: none;">
<strong>Muster und Sohn AG</strong><br/>
Max Muster & Siegfried Sohn<br/>
Muster Str. 42<br/>
12345 Musterstadt<br/><br/>
Tel. 12345 678999<br/>
</td>
<td style="border: none; vertical-align: top; padding-left: 20px;">
</td>
</table>

Auch hierbei stehen Ihnen sämtliche Möglichkeiten von HTML zur Verfügung, um den Text zu strukturieren und zu formatieren.

Nun haben wir also den Inhalt und die Struktur der Antwort-Email festgelegt und müssen diese nur noch automatisiert versenden. Dieses führen wir mittels der Methode des Helper-Objekts "helper.sendmail" durch. Vorab jedoch evaluieren wir jedoch noch, ob der ursprüngliche Absender eine Reply-to Addresse gesetzt hat und versenden die Antwort an diese. Der Skriptschnipsel hierfür sowie für den regulären Versand der Antwort-Email, wenn keine  Reply-to Addresse gesetzt ist, sieht wie folgt aus:

//  Start  Autoreply, wenn Reply-to gefüllt ist.
if(emailreplyto!=null)
{
helper.sendmail(task.source.sourcemailbox.emailAddress, "Re: "+message.getSubject()+" (ID: "+id+")", text, emailreplyto, null, null, null, true)
}
//  Ende  Autoreply, wenn Reply-to gefüllt ist.
else {
helper.sendmail(task.source.sourcemailbox.emailAddress, "Re: "+message.getSubject()+" (ID: "+id+")", text, toEmail, null, null, null, true);
}

Das Gesamtskript für die "Eintreffen-Aktionen" Ihrer Mailbox nun, dass Sie an Ihre Bedürfnisse noch anpassen müssten. Sollten sie hierbei Unterstützung benötigen, kontaktieren Sie uns bitte unter support@bergener-bluma.de

var id = task.id;
var toEmail = message.getFrom()[0].getAddress();
var css=helper.getServerPropertyByName('emailCss');
var footer = task.source.sourcemailbox.footer;
var emailreplyto = task.getProperty("EMAILREPLYTO");
              
var text = "<html><head></head><body><p>Sehr geehrte Kundin, sehr geehrter Kunde,<br/><br/>\n";
text += "hiermit bestätigen wir den Erhalt Ihrer Nachricht.<br/><br/>";
text += "Wir werden Ihr Anliegen sorgfältig prüfen und uns schnellstmöglich bei Ihnen melden.<br/>\n";
text += "Bei Rückfragen geben Sie bitte die Bearbeitungsnummer "+id+" im Betreff an.<br/><br/>\n";
text += "Mit freundlichen Grüßen<br/>\n";
text += "Muster und Sohn AG<br/></p>\n";

text += "<hr/><p>Dear madam or sir,<br/><br/>\n";
text += "we herewith confirm having received your message.<br/><br/>";
text += "We will check your request and get in touch with you shortly.<br/>\n";
text += "Please note your ticket id for further processing: "+id+"<br/><br/>\n";
text += "With kind regards<br/>\n";
text += "Muster und Sohn AG<br/></p><br/>\n";
text += "</p><br/>\n";

text += "Betreff Ihrer Nachricht / Subject of your request:<br/><pre>"+ message.getSubject()+"</pre>";

text += "\n<br/><br/>"+footer;


//  Start  Autoreply, wenn Reply-to gefüllt ist.
if(emailreplyto!=null)
{
helper.sendmail(task.source.sourcemailbox.emailAddress, "Re: "+message.getSubject()+" (ID: "+id+")", text, emailreplyto, null, null, null, true)
}
//  Ende  Autoreply, wenn Reply-to gefüllt ist.
else {
helper.sendmail(task.source.sourcemailbox.emailAddress, "Re: "+message.getSubject()+" (ID: "+id+")", text, toEmail, null, null, null, true);
}