Verschicken einer Email
Methode | Beispiel |
---|---|
send | package org.nuclet.businessentity; import org.nuclet.printout.FormularAbschlussAuftragPO; import org.nuclos.api.common.NuclosFile; import org.nuclos.api.mail.NuclosMail; import org.nuclos.api.provider.PrintoutProvider; import org.nuclos.api.provider.MailProvider; public class AbschlussAuftragRegel implements InsertFinalRule { public void insertFinal(InsertContext context) throws BusinessException { Auftrag a = context.getBusinessObject(Auftrag.class); NuclosFile result = PrintoutProvider.run(FormularAbschlussAuftragPO.Deutsch_PDF, a.getId()); NuclosMail newMail = new NuclosMail(); newMail.setSubject("Abschluss eines Auftrags"); newMail.setFrom("automatic@meineFirma.de"); newMail.addRecipient("Max.Mustermann@meinKunde.de"); newMail.setMessage("Der Auftrag wurde erfolgreich abgeschlossen."); newMail.addAttachment(result); MailProvider.send(newMail); } } Erläuterung: Mit dem erfolgreichen Abschluss eines Auftrags soll automatisch eine Bestätigungsmail an den Kunden verschickt werden. Im Falle eines Laufzeit-Fehlers wird eine BusinessException geworfen.
|
receive | package org.nuclet.businessentity; import java.util.List; import org.nuclos.api.annotation.Rule; import org.nuclos.api.common.NuclosFile; import org.nuclos.api.context.GenerateContext; import org.nuclos.api.exception.BusinessException; import org.nuclos.api.mail.NuclosMail; import org.nuclos.api.provider.MailProvider; import org.nuclos.api.rule.GenerateRule; /** @name * @description * @usage * @change */ @Rule(name="GetEmails", description="GetEmails") public class GetEmails implements GenerateRule { public void generate(GenerateContext context) throws BusinessException { Materialbestellung bestellung = context.getTargetObject(Materialbestellung.class); List<NuclosMail> allMails = MailProvider.receive(true); for (NuclosMail mail : allMails) { for (NuclosFile file : mail.getAttachments()) { bestellung.insertAttachment( file, "Bestätigungsmail von '" + mail.getFrom() + "' mit Betreff '" + mail.getSubject() + "'"); } } } } Damit Emails von einem Server abgeholt werden können, müssen die relevanten SMTP - Daten in den System Parametern innerhalb Nuclos hinterlegt werden. Im oberen Beispiel wird als Parameter "true" mitgeliefert, was bedeutet, dass die Emails nach dem Abholen auf dem Server gelöscht werden. |
Systemparameter zur Konfiguration des Emailservers siehe Systemparameter
Überblick
Inhalte