Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 9 Nächste Version anzeigen »

Verschicken einer Email

MethodeBeispiel
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

  • Keine Stichwörter