WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

MIME-Nachricht senden

Sie können eine E-Mail senden, die aus einer MIME-Nachricht erstellt wurde.

Sie können eine MIME-Nachricht mithilfe des MIME-Parsers an den EmailOutput-Knoten weitergeben, der mit dem MIME-Parser die MIME-Nachricht in einen Bitstrom schreibt. Diese Nachricht wird dann an die Liste der Empfänger im EmailOutputHeader gesendet. Überschreibungen der lokalen Umgebung werden nicht berücksichtigt, wenn eine MIME-Nachricht übergeben wird. In den folgenden Beispielen muss der EmailOutput-Knoten nicht konfiguriert werden.

Die folgenden Beispiele veranschaulichen die Einrichtung der Informationen zu Empfänger, Absender, Betreff, SMTP-Server und Nachrichtenhauptteil in ESQL (bei einem Compute-Knoten) und in Java™ (bei einem JavaCompute-Knoten).

Einen Compute-Knoten verwenden

Das Diagramm zeigt einen Nachrichtenfluss, der mithilfe eines MQInput-, Rechen- und EmailOutput-Knotens eine MIME-Nachricht sendet.
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
		
	  CALL CopyMessageHeaders();
		
	  	  -- Empfängerinformation zum EmailOutputHeader hinzufügen
	  	  SET OutputRoot.EmailOutputHeader.To = '<E-Mail-Adresse des Empfängers>';
	  	  SET OutputRoot.EmailOutputHeader.Cc = '<E-Mail-Adresse des Empfängers>';
	  	  SET OutputRoot.EmailOutputHeader.Bcc = '<E-Mail-Adresse des Empfängers>';
	  
	  	  -- Absenderinformation zum EmailOutputHeader hinzufügen
	  	  SET OutputRoot.EmailOutputHeader.From = '<E-Mail-Adresse des Absenders>';
	  	  SET OutputRoot.EmailOutputHeader."Reply-To" = '<Antwort-E-Mail-Adresse>';

	  	  -- Betreff zum EmailOutputHeader hinzufügen
	  	  SET OutputRoot.EmailOutputHeader.Subject = 'Dynamische MIME-Nachricht in ESQL.';

	  	  -- SMTP-Serverinformationen zur LocalEnvironment hinzufügen
	  		SET OutputLocalEnvironment.Destination.Email.SMTPServer ='<SMTP.Server:Port>';

	  	  -- Neuen MIME-Nachrichteninhalt erstellen, der als Haupttext der E-Mail,
	  	  -- einschließlich eines Anhangs, gesendet wird
	  CREATE FIELD OutputRoot.MIME TYPE Name;
	  DECLARE M REFERENCE TO OutputRoot.MIME;

	  	  -- Content-Type-Unterelement von MIME explizit erstellen, um richtige Reihenfolge -- sicherzustellen. Wird stattdessen die Eigenschaft ContentType festgelegt,
	  	  -- kann das Feld als letztes Unterelement von MIME auftreten.
	  	  CREATE FIELD M."Content-Type" TYPE NameValue VALUE 'multipart/related; boundary=myBoundary';
	  	  CREATE FIELD M."Content-ID"   TYPE NameValue VALUE 'neues MIME-Dokument';

	  CREATE LASTCHILD OF M TYPE Name NAME 'Parts';
	  CREATE LASTCHILD OF M.Parts TYPE Name NAME 'Part'; 
	  	  DECLARE P1 REFERENCE TO M.Parts.Part;

	  	  -- Erster Teil:
	  	  --   Hauptteil der E-Mail erstellen.
	  	  --   Der Text der E-Mail lautet 'Dies ist der Hauptteil der E-Mail.'.
	  CREATE FIELD P1."Content-Type" TYPE NameValue VALUE 'text/plain; charset=us-ascii';
	  CREATE FIELD P1."Content-Transfer-Encoding" TYPE NameValue VALUE '8bit';
	  CREATE LASTCHILD OF P1 TYPE Name NAME 'Data'; 
	  	  CREATE LASTCHILD OF P1.Data DOMAIN('BLOB') PARSE(CAST('Dies ist der Hauptteil der E-Mail.' 
AS BLOB CCSID 1208));
	  
	  CREATE LASTCHILD OF M.Parts TYPE Name NAME 'Part'; 
	  DECLARE P2 REFERENCE TO M.Parts.Part[2];  

	  	  -- Zweiter Teil:
	  	  --   Anhang einer E-Mail erstellen.
	  	  --   Der Anhang heißt 'attachment.txt' und enthält den Text 'Dies ist ein Anhang.'.
	  CREATE FIELD P2."Content-Type" TYPE NameValue VALUE 'text/plain; charset=us-ascii; name=attachment.txt';
	  CREATE FIELD P2."Content-Transfer-Encoding" TYPE NameValue VALUE '8bit';
	  CREATE LASTCHILD OF P2 TYPE Name NAME 'Data'; 
	  	  CREATE LASTCHILD OF P2.Data DOMAIN('BLOB') PARSE(CAST('Dies ist ein Anhang.' AS BLOB CCSID 1208));

	  RETURN TRUE;
END;

Verwendung eines JavaCompute-Knotens

Das Diagramm zeigt einen Nachrichtenfluss, der mithilfe eines MQInput-, JavaCompute- und EmailOutput-Knotens eine MIME-Nachricht sendet.
public void evaluate(MbMessageAssembly assembly) throws MbException {
	  MbOutputTerminal out = getOutputTerminal("out");
	  	  MbOutputTerminal fail = getOutputTerminal("fail");

	  	  // Neue Assemblierung für Weitergabe aus diesem Knoten erstellen, so wie
	  	  // sie aktualisiert werden soll.
	  MbMessage outMessage = new MbMessage();
	  	  copyMessageHeaders(assembly.getMessage(), outMessage);
	  	  MbMessage outLocalEnv = new MbMessage(assembly.getLocalEnvironment());
	  	  MbMessage outExceptionList = new MbMessage(assembly.getExceptionList());
	  	  MbMessageAssembly outAssembly = new MbMessageAssembly(assembly, outLocalEnv, outExceptionList, outMessage);
	  	  MbElement localEnv = outAssembly.getLocalEnvironment().getRootElement();

	  		// EmailOutputHeader-Parser erstellen. Hier werden Empfänger, Absender
	  	  // und Betreff hinzugefügt.
	  MbElement root = outMessage.getRootElement();
	  	  MbElement SMTPOutput = root.createElementAsLastChild("EmailOutputHeader");

	  	  // Empfängerinformation zum EmailOutputHeader hinzufügen
	  	  SMTPOutput.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "To", "<E-Mail-Adresse des Empfängers>");
	  	  SMTPOutput.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Cc", "<E-Mail-Adresse des Empfängers>");
	  	  SMTPOutput.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Bcc", "<E-Mail-Adresse des Empfängers>");

	  	  // Absenderinformation zum EmailOutputHeader hinzufügen
	  	  SMTPOutput.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "From", "<E-Mail-Adresse des Absenders>");
	  	  SMTPOutput.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Reply-To", "<Antwort-E-Mail-Adresse>");

	  	  // Betreff zum EmailOutputHeader hinzufügen
	  	  SMTPOutput.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Subject", "Dynamische MIME-Nachricht in Java.");

	  		// Destination.Email erstellen. Hier werden SMTP-Serverinformationen hinzugefügt.
	  	  MbElement Destination = localEnv.createElementAsLastChild(MbElement.TYPE_NAME, "Ziel", null);
	  	  MbElement destinationEmail = Destination.createElementAsLastChild(MbElement.TYPE_NAME, "Email", null);
	  	  destinationEmail.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "SMTPServer", "<SMTP.Server:Port>");

	  	  // Letztes untergeordnetes Element des Stammelements (Nachrichteninhalt) als MIME festlegen
	  	  MbElement MIME = root.createElementAsLastChild("MIME");

	  	  // Content-Type-Unterelement von MIME explizit erstellen, um richtige Reihenfolge sicherzustellen
	  	  MIME.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Content-Type", "multipart/related; 
boundary=myBoundary");
	  	  MIME.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Content-ID", "neues MIME-Dokument");
	  	  MbElement parts = MIME.createElementAsLastChild(MbElement.TYPE_NAME, "Parts", null);
	  	  MbElement part, data, blob;
	  	  String text;

	  	  // Erster Teil:
	  	  //   Hauptteil der E-Mail erstellen.
	  	  //   Der Text der E-Mail lautet 'Dies ist der Hauptteil der E-Mail.'.
	  	  part = parts.createElementAsLastChild(MbElement.TYPE_NAME, "Part", null);
	  	  part.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Content-Type", "text/plain; charset=us-ascii");
	  	  part.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Content-Transfer-Encoding", "8bit");
	  	  data = part.createElementAsLastChild(MbElement.TYPE_NAME, "Data", null);
	  	  blob = data.createElementAsLastChild("BLOB");
	  	  text = "Dies ist der Hauptteil der E-Mail.";
	  try {
				blob.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "BLOB", text.getBytes("UTF8"));
	  	  } catch (UnsupportedEncodingException e) {
				fail.propagate(outAssembly);
	  }

	  	  // Zweiter Teil:
	  	  //   Anhang einer E-Mail erstellen.
	  	  //   Der Anhang heißt 'attachment.txt' und enthält den Text 'Dies ist ein Anhang.'.
	  	  part = parts.createElementAsLastChild(MbElement.TYPE_NAME, "Part", null);
	  	  part.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Content-Type", "text/plain; charset=us-ascii; name=attachment.txt");
	  	  part.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Content-Transfer-Encoding", "8bit");
	  	  data = part.createElementAsLastChild(MbElement.TYPE_NAME, "Data", null);
	  	  blob = data.createElementAsLastChild("BLOB");
	  	  text = "Dies ist ein Anhang.";
	  try {
				blob.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "BLOB", text.getBytes("UTF8"));
	  	  } catch (UnsupportedEncodingException e) {
				fail.propagate(outAssembly);
	  }
	
	  	  outMessage.finalizeMessage(MbMessage.FINALIZE_VALIDATE);
	  out.propagate(outAssembly);
}
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:20:29


TaskthemaTaskthema | Version 8.0.0.5 | ac66350_