Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Das Nuclet "E-Mail-Versand" bietet zusätzlichen Komfort bei der Nutzung der Nuclos Mail API (siehe http://api.nuclos.de/org/nuclos/api/provider/MailProvider.html#send(org.nuclos.api.mail.NuclosMail)).

Es ermöglicht insbesondere die Umleitung aller E-Mails zu Testzwecken oder auf Testumgebungen sowie die Archivierung aller versandten E-Mails inkl. Dateianhänge zu Dokumentationszwecken.

Außerdem gibt es einen Job zum Empfang von E-Mails.

Version 1.1.2

Beschreibung von Version 1.1.2

ThemaBeschreibung
Email Umleitung

Für den Testbetrieb kann die Email E-Mail Umleitung aktiviert werden. Dabei werden alle ausgehenden Emails E-Mails auf eine festgelegte Adresse umgeleitet.

In der Email E-Mail steht zusätzlich, an wen diese eigentlich gegangen wäre.

Email ProtokollAlle zu versendenden und alle versendeten Emails E-Mails werden im EmailE-Mail-Protokoll (unter System) gespeichert. Das Speichern der versendeten Emails kann in den Nucletparametern ausgeschaltet werden.
Email Queue

Für den EmailE-Mail-Versand gibt es zwei verschiedene Möglichkeiten:

Sofort versenden

Die Email E-Mail wird sofort versendet. Ist der Versand von einem Benutzer angestoßen (z.B. durch einen Statuswechsel, der einen EmailE-Mail-Versand auslöst), so muss er warten, bis dieser Vorgang abgeschlossen ist, bevor er weiter arbeiten kann. Kommt es beim EmailE-Mail-Versand zu einem Fehler, so wird die gesamte Aktion (z.B. Statuswechsel) des Benutzers rückgängig gemacht.

Versand über Email Queue

Die Email E-Mail wird erst im EmailE-Mail-Protokoll als nicht versendete Email E-Mail gespeichert und erst durch einen regelmäßig laufenden Job versendet (Administration > Jobsteuerung > Versende Emails). Dieser muss natürlich aktiviert sein. Der Benutzer wird dadurch bei seiner Bearbeitung nicht unnötig lange aufgehalten und ein fehlerhafter EmailE-Mail-Versand führt nicht zum Abbruch seiner Aktion.

Email Empfang

Der Job EMailEmpfang erzeugt für neue E-Mails auf dem in den IMAP-Systemparametern angegebenen Server einen Eintrag im E-Mail-Protokoll mit den Flags Versendet = false, Empfangen = true, Verarbeitet = false.
Das Flag Verarbeitet kann nach der erfolgreichen Weiterverarbeitung der Mail auf true gesetzt werden.

Verwendung in RegelnDie Klasse EmailVersand stellt zwei Methoden bereit

...

Klasse EMailVersand
static void sendMail(EMailContext context)
Versendet die im context definierte Emaildefinierte E-Mail
static void sendMailNow(EMailContext context)
Versendet die im context definierte Email E-Mail sofort, unabhängig von den Einstellungen in den Nucletparametern
Klasse EMailContext
void addRecipient(String address, int type)
Fügt einen Empfänger hinzu (type = To, CC oder BCC)
void addRecipient(String address)
Fügt einen Empfänger hinzu (To)
void addRecipients(List<String> lRecipients, int type) 
Fügt eine Liste von Empfängern hinzu (type = To, CC oder BCC)
void addRecipients(List<String> lRecipients)
Fügt eine Liste von Empfängern hinzu (To)
void addAttachment(NuclosFile file) 
Fügt einen Anhang hinzu
void addAttachments(List<NuclosFile> lAttachments)
Fügt eine Liste von Anhängen hinzu
void setReplyTo(String replyTo)
Definiert (vom Sender abweichende) Antwortadresse
void setMessage(String message)
Definiert die EmailE-Mail-Nachricht
void setSubject(String subject)
Definiert den EmailE-Mail-Betreff
void setReference(String reference)
Definiert eine Referenz. Das kann z.B. eine Auftragsnummer sein. Die Referenz hat keinen Einfluss auf die EmailE-Mail, hilft aber, Emails E-Mails im Protokoll wiederzufinden, die zu einem bestimmten Auftrag gehören.
void resetAttachments()
Leert die Liste der Anhänge
void resetRecipients()
Leert die Liste der Empfänger
Beispiel (E-Mail-Versand)

EMailContext context = new EMailContext();
context.addRecipient(auftrag.getKundeBO.getEmailadresse());
context.addRecipient("chef@firma.de", EMailContext.BCC);
context.addAttachment(auftrag.getRechnung());
context.setSubject("Rechnung für Auftrag " + auftrag.getAuftragsnr());
context.setMessage("...");
context.setReplyTo("kundenservice@firma.de");
context.setReference(auftrag.getKundeBO().getKundennr());
EMailVersand.sendMail(context);
Beispiel (E-Mail-Empfang)

Query<EMailProtokoll> query = QueryProvider.create(EMailProtokoll.class);
query.where(EMailProtokoll.Empfangen.eq(Boolean.TRUE));
query.where(EMailProtokoll.Empfangeneemailverarbeitet.eq(Boolean.FALSE));
for (EMailProtokoll email : QueryProvider.execute(query)) {
process(email, context);
email.setEmpfangeneemailverarbeitet(Boolean.TRUE);
email.save();
}

...

SchrittBeschreibungScreenshot
1

Konfigurieren Sie die Nuclos Parameter für die Nutzung des MailProviders in Nuclos (unter Administration > Parameter): 

  • SMTP Authentication
  • SMTP Username
  • SMTP Password
  • SMTP Server
  • SMTP Sender

Siehe dazu auch Email (SMTP/IMAP/Pop3).

2

Konfigurieren Sie die Nuclet Parameter des Nuclets Emailversand (unter Konfiguration > Nuclet Management)

NameBeschreibung

Email Absender

Absender der Emailsder E-Mails
Email Betreff PrefixOptionales Prefix für die Betreffzeile aller Nuclos-Mails (OFF = kein Prefix)
Email Nachricht AbschlussOptionale Abschlussformel der Nachricht (OFF = kein Abschluss)
Email Nachricht SignaturOptionale Signatur der Nachricht (OFF = keine Signatur)
Email sofort versendenEmails E-Mails  werden sofort versendet und nicht in der EmailE-Mail-Queue zwischen gespeichert (Y/N)
Email UmleitungAlle Emails E-Mails werden umgeleitet (Y/N)
Email Umleitung aufZiel der Umleitung
Versendete Emails löschenErfolgreich versendete Emails E-Mails aus dem Email-Protokoll löschen
Empfangene Emails löschenEmpfangene Emails E-Mails werden vom Mail-Server gelöscht


...