Versionen im Vergleich

Schlüssel

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

Nuclos MailProvider: send, receive, NuclosMail, Attachment, SMTP, POP3, Recipients CC BCC, ReplyTo.

globe with meridians Sprache: Deutsch · English

open book MailProvider

E-Mails aus Regeln senden und empfangen – send(), receive() und die NuclosMail-Klasse.

Status
colourGrey
titleReferenz
Status
colourBlue
titleEntwickler
Status
colourGreen
titleStand: Jul 2026
Status
colourGrey
titlegilt fuer Nuclos 4.2026.x

Panel
bgColor#F4F5F7

Auf dieser Seite

Inhalt
maxLevel2
minLevel2

Wozu dient der MailProvider?

Der MailProvider stellt Methoden zum Versenden und Abholen von E-Mails bereit.

send(mail)

Verschickt eine NuclosMail.

Allgemein

Der MailProvider ist eine Hilfsklasse, die alle notwendigen Methoden zum Verschicken von Emails zur Verfügung stellt.

Funktionsumfang

 

...

Diese Methode ermöglicht das Verschicken einer NuclosMail (siehe unten)

...

Codeblock
languagejava
public static void send(NuclosMail mail) throws BusinessException;
Codeblock
languagejava
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

...

Ein Beispiel finden Sie hier.

...

Diese Methode kann zum Abholen von Emails von einem Server verwendet werden.

 { 
        
		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);
    }
}

receive(bDeleteMails)

Holt E-Mails vom Server. Mit true werden sie nach dem Abruf gelöscht, mit false bleiben sie erhalten (und kommen beim nächsten Aufruf erneut).

...

Codeblock
languagejava
public static List<NuclosMail> receive(boolean bDeleteMails) 

...

throws BusinessException;

Als Parameter "bDeleteMails" kann der Benutzer festlegen, ob die gefundenen Emails nach dem Abrufen vom Server gelöscht werden sollen. Bei false bleiben die Mails auf dem Server erhalten, werden aber beim nächsten Aufruf von receive() wieder mitgeliefert.

Ein Beispiel finden Sie hier.

Codeblock
languagejava
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() + "'");
			}
		}
	}
}

NuclosMail

Die API-Klasse NuclosMail nimmt alle Bestandteile einer Standard-E-Mail auf:

AttributBedeutung
FromAbsender (Default aus Systemparameter SMTP Sender).
Recipients / CC / BCCEmpfänger als String, mehrere per Semikolon getrennt.
Subject / MessageBetreff und Inhalt.
ReplyToAntwortadresse.
Headers

NuclosMail

Die NuclosMail-Klasse befindet sich in der API, kann alle relevanten Daten einer Standard Email aufnehmen und über den MailProvider verschickt werden.

Optional können hier Header-Informationen wie Charset oder Content-Type angegeben werden. Default ist: "" Anhängen des Type NuclosFile.
AttributBeschreibung
FromEmail-Adresse des Senders. Wird vom Benutzer kein expliziter Wert angegeben, wird der Default-Wert aus den System-Parametern verwendet. Diese können in Nuclos unter Administration -> Parameter -> SMTP Sender
RecipientsListe der Empfänger. An dieser Stellte wird die Email-Adresse des Empfängers als String übergeben. Mit Semikolons getrennt, können auch mehrere Empfänger übergeben werden.
RecipientsCCListe der CC-Empfänger. An dieser Stellte wird die Email-Adresse des CC-Empfängers als String übergeben. Mit Semikolon getrennt, können auch mehrere Empfänger übergeben werden.
RecipientsBCCListe der BCC-Empfänger. An dieser Stellte wird die Email-Adresse des BCC-Empfängers als String übergeben. Mit Semikolon getrennt, können auch mehrere Empfänger übergeben werden.
SubjectBetreff der Email
MessageInhalt der Email
ReplyToHier kann eine Email-Adresse angegeben werden, die im Falle der Beantwortung adressiert wird.
Headersz.​B. Charset/Content-Type (Default text/plain; charset=UTF-8).
AttachmentListe von NuclosFile-Anhängen.
Info
titleServerkonfiguration

SMTP/POP3-Zugangsdaten werden in den Systemparametern hinterlegt (Administration → Parameter).

Verwandte Seiten

gear QueryProvider


Daten laden.

Öffnen →

gear BusinessObjectProvider


BOs schreiben.

Öffnen →

gear DatasourceProvider


Datenquellen ausführen.

Öffnen →