...
Methode | Beispiel |
---|
send | Codeblock |
---|
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 | Codeblock |
---|
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