Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument...

32
http://support.automation.siemens.com/WW/view/de/46817803 Applikationsbeschreibung 12/13 Senden von E-Mails an SMTP- Server mit einer S7-CPU S7-400, S7-300, WinAC, STEP 7 V12

Transcript of Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument...

Page 1: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

http://support.automation.siemens.com/WW/view/de/46817803

Applikationsbeschreibung 12/13

Senden von E-Mails an SMTP-Server mit einer S7-CPUS7-400, S7-300, WinAC, STEP 7 V12

Page 2: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

Gewährleistung und Haftung

E-Mail-Versand mit S7-CPUBeitrags-ID: 46817803, V1.0, 12/13 2

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

Gewährleistung und Haftung

Hinweis Die Applikationsbeispiele sind unverbindlich und erheben keinen Anspruch aufVollständigkeit hinsichtlich Konfiguration und Ausstattung sowie jeglicherEventualitäten. Die Applikationsbeispiele stellen keine kundenspezifischenLösungen dar, sondern sollen lediglich Hilfestellung bieten bei typischenAufgabenstellungen. Sie sind für den sachgemäßen Betrieb der beschriebenenProdukte selbst verantwortlich. Diese Applikationsbeispiele entheben Sie nichtder Verpflichtung zu sicherem Umgang bei Anwendung, Installation, Betrieb undWartung. Durch Nutzung dieser Applikationsbeispiele erkennen Sie an, dass wirüber die beschriebene Haftungsregelung hinaus nicht für etwaige Schädenhaftbar gemacht werden können. Wir behalten uns das Recht vor, Änderungenan diesen Applikationsbeispielen jederzeit ohne Ankündigung durchzuführen. BeiAbweichungen zwischen den Vorschlägen in diesem Applikationsbeispiel undanderen Siemens Publikationen, wie z.B. Katalogen, hat der Inhalt der anderenDokumentation Vorrang.

Für die in diesem Dokument enthaltenen Informationen übernehmen wir keineGewähr.Unsere Haftung, gleich aus welchem Rechtsgrund, für durch die Verwendung derin diesem Applikationsbeispiel beschriebenen Beispiele, Hinweise, Programme,Projektierungs- und Leistungsdaten usw. verursachte Schäden ist ausgeschlossen,soweit nicht z.B. nach dem Produkthaftungsgesetz in Fällen des Vorsatzes, dergroben Fahrlässigkeit, wegen der Verletzung des Lebens, des Körpers oder derGesundheit, wegen einer Übernahme der Garantie für die Beschaffenheit einerSache, wegen des arglistigen Verschweigens eines Mangels oder wegenVerletzung wesentlicher Vertragspflichten zwingend gehaftet wird. Der Schadens-ersatz wegen Verletzung wesentlicher Vertragspflichten ist jedoch auf denvertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht Vorsatz odergrobe Fahrlässigkeit vorliegt oder wegen der Verletzung des Lebens, des Körpersoder der Gesundheit zwingend gehaftet wird. Eine Änderung der Beweislast zuIhrem Nachteil ist hiermit nicht verbunden.Weitergabe oder Vervielfältigung dieser Applikationsbeispiele oder Auszügedaraus sind nicht gestattet, soweit nicht ausdrücklich von Siemens Industry Sectorzugestanden.

VorsichtDie in diesem Beitrag beschriebenen Funktionen und Lösungen beschränken sichüberwiegend auf die Realisierung der Automatisierungsaufgabe. Bitte beachtenSie darüber hinaus, dass bei Vernetzung Ihrer Anlage mit anderen Anlagenteilen,dem Unternehmensnetz oder dem Internet entsprechende Schutzmaßnahmen imRahmen von Industrial Security zu ergreifen sind. Weitere Informationen dazufinden Sie unter der Beitrags-ID 50203404.http://support.automation.siemens.com/WW/view/de/50203404

Page 3: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

Inhaltsverzeichnis

E-Mail-Versand mit S7-CPUBeitrags-ID: 46817803, V1.0, 12/13 3

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

InhaltsverzeichnisGewährleistung und Haftung ...................................................................................... 2

1 Automatisierungsaufgabe ................................................................................ 4

2 Automatisierungslösung .................................................................................. 5

2.1 Übersicht Gesamtlösung ...................................................................... 52.2 Beschreibung der Kernfunktionalität .................................................... 62.3 Verwendete Hard- und Software-Komponenten .................................. 72.4 Alternative ............................................................................................ 8

3 Funktionsmechanismen dieser Applikation ................................................... 9

3.1 Programmübersicht .............................................................................. 93.2 Funktionalität des FB PN_MAIL ......................................................... 103.2.1 Programmdetails zum Baustein FB PN_MAIL ................................... 103.2.2 Aufrufschnittstelle des PN_MAIL (FB490).......................................... 113.2.3 Initialisierung/Reset des FB PN_MAIL ............................................... 153.2.4 Mailübertragung ................................................................................. 163.2.5 FB PN_MAIL (FB490): „STATUS“ und „SFC_STATUS“ .................... 16

4 Installation und Inbetriebnahme .................................................................... 20

4.1 Hardwareaufbau CPU 315-2 PN/DP .................................................. 204.2 Installation der Software ..................................................................... 214.3 Herstellung einer Internet-Verbindung zum SMTP-Server ................ 22

5 Bedienung der Applikation ............................................................................. 23

5.1 Mailversand mit Hilfe des SMTP-Bausteins FB PN_MAIL ................. 235.2 Nutzung von Datenbausteinen und Beobachtungstabelle ................. 24

6 Anhang.............................................................................................................. 27

6.1 SMTP-Befehle: Minimaler Befehlssatz ............................................... 276.2 Ablauf einer SMTP-Verbindung zwischen Client und Server ............. 276.3 Status- und Fehlermeldungen eines SMTP-Servers ......................... 29

7 Literaturhinweise ............................................................................................. 31

7.1 Literaturangaben ................................................................................ 317.2 Internet-Link-Angaben ........................................................................ 317.2.1 Relevante RFCs ................................................................................. 32

8 Historie.............................................................................................................. 32

Page 4: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

1 Automatisierungsaufgabe

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 4

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

1 AutomatisierungsaufgabeEinführung

Mit dem Wachstum des Vernetzungsgrades in der Automatisierungsbranche steigtzunehmend das Bedürfnis, auch Meldungen über die Grenzen lokaler Netzwerke(LANs, „Local Area Networks“) hinaus auszutauschen. Für den Austausch solldabei oft auf bereits vorhandene Infrastruktur wie zum Beispiel bestehende Server-Konstellationen zurückgegriffen werden.Eine der Möglichkeiten für eine solche Kommunikation ist die Verwendung vonE-Mail-Diensten über das Intranet/Internet. Dadurch können bereits bestehende IT-Infrastrukturen verwendet werden um Meldungen aus der Fertigungsebene direktmit Standard IT-Diensten weiterzugeben.

Überblick über die AutomatisierungsaufgabeFolgendes Bild gibt einen Überblick über die Automatisierungsaufgabe.Abbildung 1-1

In einer Automatisierungs- oder Prozessanlage soll, abhängig von einem beliebigenBetriebsereignis, der Versand einer E-Mail ausgelöst werden.Im Rahmen der Projektierung können beliebige Empfänger konfiguriert werden. DerInhalt der Mail soll frei konfigurierbar sein und beispielsweise eine Klartextmeldungdes aufgetretenen Ereignisses oder auch bestimmte Betriebsvariablen enthalten.Im Rahmen einer erhöhten Betriebssicherheit werden dabei verschiedeneMailserver-Authentifizierungsverfahren unterstützt. Damit wird verhindert, dass dieKommunikation durch unbefugte Dritte beeinflusst wird.Ein entsprechender Baustein für die S7-1200 und S7-1500 CPUs ist bereitsvorhanden. Diese Applikation liefert diese Funktionen für S7-300 CPUs, S7-400CPUs und WinAC RTX.

Page 5: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

2 Automatisierungslösung

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 5

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

2 Automatisierungslösung2.1 Übersicht Gesamtlösung

SchemaDie folgende Abbildung zeigt schematisch die wichtigsten Komponenten derLösung:Abbildung 2-1

S7-300/S7-400/WinAC

SMTP-Server

Endgeräte(PC, Smartphone, …)

Intranet/Internet

Ethernet

FBPN_Mail

FBPN_Mail

Kernstück der Automatisierungslösung ist der FB PN_MAIL. Über die Bausteineder offenen Kommunikation (OUC Bausteine: TCON, TSEND, TRCV, TDISCON)steuert er den Versand von E-Mails über das an den SMTP-Server.Während die Offenen Kommunikationsbausteine die grundlegenden TCP/IP-Dienste kontrollieren, bedient der FB PN_MAIL die darüberliegenden Dienste desMailversands und kommuniziert mit dem Mail-Server. Als Protokoll hierfür wird derInternetstandard SMTP („Simple Mail Transfer Protocol“) verwendet.Nachdem der Mailserver die Nachricht erhalten hat, gilt die E-Mail für die SPS alsversandt. Die weitere Versendung der E-Mail über Intranet/Internet kann von derSPS nicht beeinflusst werden.

AbgrenzungDiese Applikation enthält keine Beschreibung der Grundlagen der TCP/IP-Kommunikation oder der Verwendung von SMTP-Protokollen. GrundlegendeKenntnisse über diese Themen werden voraus gesetzt bzw. sind in den im Anhangaufgeführten Dokumenten zu finden.Die Applikation beschreibt ausschließlich den Einsatz und die Eigenschaften derverwendeten Kommunikationsbausteine. Alle anderen Komponenten,insbesondere die Existenz eines korrekt konfigurierten SMTP-Servers, werdenvorausgesetzt. Die Projektierung dieser Komponenten ist nicht Teil dervorliegenden Applikation.

Page 6: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

2 Automatisierungslösung

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 6

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

Hinweis Für die TCP/IP-Kommunikation werden die offenen KommunikationsbausteineTCON, TSEND, TRCV und TDISCON verwendet. Die Parametrierungsdaten fürdiese Bausteine sind im Baustein FB PN_MAIL in der Struktur TCON_PARdefiniert.

2.2 Beschreibung der KernfunktionalitätDer FB PN_MAIL ist ein asynchroner Kommunikationsbaustein. Er erlaubt denVersand einer E-Mail von einer S7-CPU, die die offene Kommunikation unterstützt,an einen beliebigen SMTP-Server, mit dem die SPS über Industrial Ethernet (nichtnotwendigerweise über PROFINET) verbunden ist, zu einem beliebigen Zeitpunkt.Das bedeutet, dass die SPS programmiert werden kann, den Mailversandprinzipiell als Reaktion auf jedes beliebige Betriebsereignis (Meldungen, Werte vonBetriebsvariablen, Ablauf von Fristen, ...) auszulösen.Die Projektierung erlaubt dabei unter anderem die Einstellung folgenderParameter:

IP-Adresse des SMTP-Servers Benutzername und Passwort für die Authentifizierung am SMTP-Server,

falls gefordert Empfänger-Adresse, sowie ggf. die Adresse eines Kopien-Empfängers Betreff-Zeile Priorität ASCII-Klartext und ggf. ein Mailanhang

Der FB PN_MAIL ist nicht für den Empfang von Meldungen (z.B. POP)vorgesehen.

Vorteile dieser LösungDie hier vorgestellte Lösung bietet Ihnen folgende Vorteile: SMTP ist ein leistungsfähiges, etabliertes, flexibles Verfahren. eine Ethernet-Struktur ist an praktisch jedem Einsatzort vorhanden, d.h. es

entstehen kaum zusätzliche Kosten. SMTP-Maildienste stehen weltweit zur Verfügung. Empfänger können die Mails über verschiedene Wege (PC, Smartphone, ...)

abrufen.

Page 7: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

2 Automatisierungslösung

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 7

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

2.3 Verwendete Hard- und Software-Komponenten

Hardware-KomponentenDer FB PN_MAIL und die zugrunde liegenden Offenen Kommunikationsbausteinesind auf folgenden Hardwareplattformen lauffähig:

CPU 31x PN/DP (ab V3.2, CPU 314C-2 PN/DP ab V3.3) (Link \8\) S7-400 PN-CPUs ET200S/ IM 151-8 ET200PRO/ IM 154-8 CPU WinAC, z.B. mit SIMATIC Microbox PC

Sie können die Bausteine aus dem Beispielprojekt verwenden.

Standard Software-KomponentenDie Bausteine sind lauffähig unter STEP 7 V12 SP1 und höher. Auf WinAC-Rechnern kann die Applikation WinAC ab Version 2.6 oder höher betriebenwerden.Tabelle 2-1

Komponente Anz. MLFB/Bestellnummer

SIMATIC STEP 7 PROFESSIONAL V12 SP1 1 6ES7822-1AA02-0YA5

Beispieldateien und ProjekteDie folgende Liste enthält alle Dateien und Projekte, die in diesem Beispielverwendet werden.Tabelle 2-2

Komponente Hinweis

46817803_SMTP_Mail_V12_CODE_V1_0.zip Beispielprojekt undFunktionsbausteine

46817803_SMTP_Mail_V12_DOKU_V1_0_de.pdf Dieses Dokument.

Page 8: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

2 Automatisierungslösung

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 8

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

2.4 Alternative

ÜberblickDer in dieser Applikation enthaltene Baustein PN_Mail ist nur die Verwendung aufden unter Kapitel 2.3 aufgelisteten Hardware-Plattformen gedacht.Um mit S7-CPUs Mails als E-Mail Client zu versenden stehen Ihnen weitereMöglichkeiten zur Verfügung.

S7-1200/S7-1500 CPUsFür die S7-1200 und S7-1500 existieren bereits fertige Systembausteine in derSTEP 7 V12 Bibliothek (TM_Mail und TMAIL_C).Anleitungen zur Verwendung der beiden Bausteine finden Sie in der Online Hilfedes TIA Portals.

S7-300/S7-400 CPsDie folgenden CPs können ebenfalls als E-Mail Client projektiert werden: CP 343-1 Advanced CP343-1 IT CP443-1 Advanced CP443-1 IT

Anleitungen zur Verwendung der Kommunikationsprozessoren als E-Mail Clientfinden Sie in den Handbüchern des von Ihnen verwendetenKommunikationsprozessors (z.B. für den CP343-1 Advanced (6GK7343-1GX31-0XE0) siehe \10\).

Page 9: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

3 Funktionsmechanismen dieser Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 9

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

3 Funktionsmechanismen dieser Applikation3.1 Programmübersicht

Abbildung 3-1

OB1 FB1(FB1)

FB PN_Mail(FB490)

TCON

TSEND

TRECV

TDISCON

SystemfunktionenAnwenderbausteine

Vom OB 1 wird zyklisch der FB 1 (Ersatz-OB) aufgerufen, der wiederum in jedemZyklus den FB PN_MAIL aufruft. Die Parameter für den Aufruf des FB PN_MAILwerden im DB Param_DB und DB FB1_DB vorgehalten, während derDB PN_MAIL_DB Instanzdatenbaustein für den FB PN_MAIL ist.Sie können für Ihr Anwenderprogramm die Nummern der einzelnen Bausteine freianpassen.Sämtliche Kommunikation mit dem SMTP-Server findet über den FB PN_MAILstatt.Die einzige Funktion des FB 1, außer als Wrapper für den FB PN_MAIL zu dienen,ist die, bei Auftreten eines Fehlers die nur für einen Zyklus anstehendenFehlercodes (STATUS, SFC_STATUS, siehe 3.2.5) im Fehlerfall in andereVariablen zwischenzuspeichern, so dass sie für eine spätere Analyse zurVerfügung stehen.

Page 10: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

3 Funktionsmechanismen dieser Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 10

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

3.2 Funktionalität des FB PN_MAIL

3.2.1 Programmdetails zum Baustein FB PN_MAIL

Der FB PN_MAIL ist ein asynchroner Funktionsbaustein. Da sich die Abarbeitungdes Versands einer Mail über etliche CPU-Zyklen erstreckt, muss der FBzumindest in der Zeit zwischen dem Anstoß des Mailversands und der Beendigungdes Dialogs mit dem SMTP-Server in regelmäßigen Abständen (idealerweise injedem CPU-Zyklus) aufgerufen werden.

Unterstützte AuthentifizierungsverfahrenDer FB PN_MAIL unterstützt zwei Authentifizierungsverfahren:

Anonym, d.h. ohne Authentifizierung des Anwenders. Dieses Verfahrenwird heutzutage aus Gründen der Datensicherheit nur noch seltenverwendet. Sog. „offene Mail-Relays“, die keine Benutzeridentifikationverlangen, gelten als potenzielle Einfalltore für Spam und Malware.

SMTP-AUTH, das momentan als Standard für die Konfiguration vonMailservern gilt. Es ist mit dem erweiterten Protokoll ESMTP auf fast allenüblichen Mailservern verfügbar.

SMTP-AUTH bietet wiederum vier verschiedene Protokolle für die Abwicklung derAuthentifizierung an, nämlich login, plain, CRAM-MD5 und NTLM.Der FB PN_MAIL unterstützt nur das login-Protokoll.

SyntaxüberprüfungenAus Gründen der Performanz wird die syntaktische Korrektheit übergebener Mail-Adressen nicht überprüft. Dies gilt insbesondere für die unten aufgeführtenParameter TO_S, CC und FROM.

Page 11: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

3 Funktionsmechanismen dieser Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 11

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

3.2.2 Aufrufschnittstelle des PN_MAIL (FB490)

Abbildung 3-2 Aufruf FB PN_MAIL

Beim Aufruf werden dem FB PN_MAIL die folgenden Parameter übergeben.InKlammern angegeben sind jeweils der Parametertyp (Eingang, Durchgang,Ausgang), der Datentyp und die optionale Versorgung des Parameters.

REQ (in, BOOL)Dieser Parameter steuert den Ablauf der Mailübertragung als Ganzes.Eine positive Flanke FALSE TRUE beginnt eine neue Mailübertragung. In allenanderen Fällen wird eine bereits begonnene Übertragung fortgeführt, oder – fallskein Übertragungsauftrag mehr abzuarbeiten ist –kehrt der Baustein sofort zurück.(Vgl. jedoch auch COM_RST).Für Details zum Übertragungsablauf, siehe 3.2.4.

ADR_MAIL_SERVER (in, DWORD)Die absolute IP-Adresse des SMTP-Servers, dem der FB denMailübermittlungsauftrag übergibt.Die Adresse wird als Folge von vier Bytes übertragen, das höchstwertige Byte desDWORDs enthält dabei das erste Byte der IP-Adresse, das niederwertigste Bytedes DWORDs das letzte Byte der IP-Adresse. Ein Parameterwert„DW#16#C0A800C8“ repräsentiert also die IP-Adresse 192.168.0.200. (16#C0 =192, etc.)

WATCH_DOG_TIME (in, TIME)Gibt die maximale Zeit vor, die bis zu einem erfolgreichen Verbindungsaufbauverstreichen darf.Wird innerhalb dieser vorgebenen Zeitspanne keine funktionierende Verbindungmit dem angegebenen SMTP-Server erzielt, so baut der Baustein die Verbindungselbstständig wieder ab.

Page 12: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

3 Funktionsmechanismen dieser Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 12

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

Bei einer direkten Ethernet-Anbindung ist die Verbindung üblicherweise innerhalbvon wenigen Sekunden hergestellt.

Hinweis Beachten Sie, dass der FB nach Ablauf des Watchdogs noch Zeit benötigt, umden Verbindungsabbau durchzuführen. Das heißt, dass Sie die Aufrufe des FBnoch weiterführen sollten, auch wenn der Watchdog mit einem entsprechendenFehlerwert abgelaufen ist.

USERNAME (in, ANY, optional)Name für einen Benutzeraccount auf dem angewählten SMTP-Server.USERNAME ist dabei unabhängig von der Mailadresse des Absenders der zuübertragenden Nachricht.Wird kein Benutzername angegeben oder ist USERNAME ein leerer String „“, soversucht der FB, die Mailübertragung ohne Authentifizierung durchzuführen. Dieswird fehlschlagen, falls der SMTP-Server nicht als „offenes Relay“ eingerichtet ist.

PASSWORD (in, ANY, optional)Passwort für den unter USERNAME angegebenen Benutzeraccount auf demangewählten SMTP-Server.

TO_S (in, ANY)Mailadresse des Empfängers in Form eines ASCII-Strings mit einer maximalenLänge von 240 Zeichen.Der Parameter beginnt mit dem Schlüsselwort „TO:“, gefolgt von einemLeerzeichen und der Mail-Adresse zwischen spitzen Klammern, also z.B. „TO: <[email protected] >,“. Abgeschlossen wird die Angabe mit einem Komma.

Hinweis E-Mail-Adressen am FB-Eingang besitzen die folgende Syntax:„<[email protected]>,“

CC (in, ANY, optional)Mailadresse des Empfängers einer Mailkopie in Form eines ASCII-Strings mitdemselben Format wie TO_S.Obwohl SMTP prinzipiell eine Liste von CC-Empfängern erlaubt, darf demFB PN_MAIL nur eine Adresse übergeben werden.

FROM (in, ANY)Mailadresse des Absenders in Form eines ASCII-Strings wie TO_S, allerdingsbeginnend mit dem Schlüsselwort “FROM:“.Die FROM-Adresse muss nicht identisch mit dem obigen USERNAME sein.Beantwortet der Empfänger der Mail diese mit „Reply“, so wird die Antwortmail andie in diesem Parameter angegebene Adresse gesandt. Die Gültigkeit der FROM-Adresse wird nicht verifiziert, d.h. es ist prinzipiell möglich, hier beliebige Angabenzu machen.

SUB (in, ANY, optional)Betreffzeile der Mail in Form eines ASCII-Strings wie z.B. „Fehler in der Anlage“.(Das Schlüsselwort „SUBJECT:“ wird vom FB PN_MAIL ergänzt.)Fehlt SUB, so wird die Mail mit leerem Betreff verschickt.

Page 13: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

3 Funktionsmechanismen dieser Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 13

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

X_PRIORITY (in, WORD, optional)Parameter, der die Dringlichkeit der Übermittlung der Mail enthält.Mit Hilfe dieses Parameters werden die Felder X-PRIORITY bzw. IMPORTANCEder Mail gesetzt.Gültige Werte für die X_PRIORITY sind 1, 3 und 5:Tabelle 3-1: Entsprechung der Werte für Vorrang und Wichtigkeit

X-PRIORITY IMPORTANCE

1 „high“3 --5 „low“

Eine Priorität von 3 entspricht einer „normalen“ Wichtigkeit, bei diesem Wert wirddas IMPORTANCE-Feld der Mail in der Regel weggelassen.Bei allen anderen Werten (oder bei Nichtbenutzung des Parameters) werden keineX-PRIORITY/IMPORTANCE-Felder in die Nachricht eingetragen.Beachten Sie, dass Mailserver nicht daran gebunden sind, in Abhängigkeit von derX-PRIORITY bzw. IMPORTANCE die Mailbeförderung zu priorisieren; inWirklichkeit ignorieren die meisten Mailserver diese Felder schlichtweg und eskommt nur zu einer anderen Darstellung am Client (z.B. MS Outlook).

SENDER_TIMEZ (in, STRING[6], optional)Die Zeitzone des sendenden Clients in Form eines Strings mit bis zu 6 ASCII-Zeichen, z.B. „+0200“.Während Uhrzeit und Datum der Sendung vom FB selbstständig ermittelt werden,1

besitzt die S7-300/S7-400 CPU keine Möglichkeit, selbstständig herauszufinden, inwelcher Zeitzone sie sich befindet. Diese Daten müssen daher beim Aufruf desFBs übergeben werden.Die Zeitzone gibt den Abstand der lokalen Uhrzeit von der „Universal CoordinatedTime“ UTC an. Der String besteht aus einem Vorzeichen „ “ oder „ “, gefolgt vonzwei Ziffern für die Stunden und zwei weiteren Ziffern für die Minuten Abstand zurUTC.Deutschland befindet sich während der Winterzeit in der Zone „+0100“, in derSommerzeit in der Zone „+0200“.Wird keine SENDER_TIMEZ übergeben, oder ist die Länge des übertragenenStrings nicht gleich 5 Zeichen, so nimmt der FB den Standardwert „+0100“ an.Es findet keine Überprüfung auf unplausible Werte (z.B. „+3599“) statt.

TEXT (in, ANY, optional)ASCII-String des zu übertragenden Nachrichtentextes.Der String darf eine maximale Länge von 240 Zeichen nicht überschreiten.Der Parameter darf weggelassen werden, es ist jedoch unzulässig, einen leerenString „“ zu übergeben.

ATTACHMENT (in, ANY, optional)Zeiger auf einen Speicherbereich, der als binäres MIME-Attachment2 an dieNachricht angehängt wird.

1 Es gilt der Zeitpunkt, an dem die Mail an den FB PN_MAIL übergeben wird.2 MIME = „Multi-Purpose Internet Mail Enhancement“

Page 14: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

3 Funktionsmechanismen dieser Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 14

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

Das Attachment darf eine maximale Länge von 65534 Bytes nicht überschreiten.Der Parameter kann weggelassen werden, es ist jedoch unzulässig, einen leerenString „“ zu übergeben.Wenn Sie kein Attachment verschicken, aber den Eingang trotzdem verschaltenwollen, dann übergeben Sie einen NULL-Anypointer (Syntax: NULL; Aufbau:16#0100 0000 0000 0000 0000).

Hinweis Es wird empfohlen mit einem temporären Anypointer zu arbeiten und diesen imVorfeld des FB-Aufrufs von PN_Mail zu belegen. Näheres zum Aufbau desDatentyps Any in der Online Hilfe des TIA Portals.

Soll kein Anhang gesendet werden so kann ein NULL-Anypointer verschaltetwerden (entweder NULL am Eingang oder mit dem ersten Byte 1 desAnypointers 16#01 und die restlichen neun Bytes 16#00).

DEVICE_ID (in, BYTE)Hardware-ID, anhand derer der Baustein TCON die SPS für denVerbindungsaufbau identifiziert. Informationen welche DEVICE_ID Sie mit welcherSPS angeben müssen finden Sie im Online Support Portal under der Beitrags-ID51339682.

CONN_ID (in, WORD)Verbindungs-ID, die von den OUC (Open User Communication) – Bausteinenverwendet wird. Achten Sie darauf, dass diese ID auf der SPS noch nicht (zumBeispiel in Netpro oder durch andere Kommunikationsbausteine) belegt ist.

COM_RST (in/out, BOOL)Flag, mit dem eine Initialisierung des FB ausgelöst wird.Das Flag wird durch den FB selbstständig zurückgesetzt, wenn die Initialisierungabgearbeitet wurde. Vor dem ersten Senden einer E-Mail muss COM_RSTeinmalig auf TRUE gesetzt werden.Für Details der Initialisierung, vgl. 3.2.3.

BUSY (out, BOOL)Flag, das anzeigt, ob gerade eine Mailübertragung aktiv ist.BUSY besitzt der Wert TRUE ab dem Moment, in dem der Übertragungsvorganggestartet wurde, bis zu seinem Abschluss, ansonsten den Wert FALSE.

DONE (out, BOOL)TRUE signalisiert, dass eine Mailübertragung an den SMTP Server erfolgreichabgeschlossen wurde. TRUE steht nur für einen Zyklus an.

ERROR (out, BOOL)Gibt an, ob während der Mailverarbeitung und –übertragung ein Fehler aufgetretenist.Bei einem aufgetretenen Fehler steht der Wert TRUE nur für einen Zyklus an undwird danach wieder auf FALSE zurückgesetzt.Detaillierte Fehlercodes werden von STATUS bzw. SFC_STATUS (s.u.) geliefert.

Page 15: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

3 Funktionsmechanismen dieser Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 15

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

STATUS (out, INT)Statuscode des FB PN_MAIL.Dieser Wert gibt den augenblicklichen Status des FB PN_MAIL an. Dabei kann essich sowohl um einen normalen Betriebszustand als auch um eine Fehlermeldungim Rahmen der Mailübertragung bzw. eine durchgereichte, vom SMTP-Serverempfangene Fehlermeldung handeln.Der Wert liegt nur für einen Zyklus an und wird danach wieder auf FALSEzurückgesetzt.

SFC_STATUS (out, INT)Statuscode eines aufgerufenen SFC.Durchgereichter Status eines vom FB PN_MAIL aufgerufenen SFC. Dieser Codekann ebenso zur Fehleranalyse benutzt werden. Ein zu großer als Attachmentübergebener Speicherbereich kann sich z.B. in einem Fehler beim Aufruf desSFC 20 „BLKMOV“ äußern.Der Wert liegt nur für einen Zyklus an und wird danach wieder auf FALSEzurückgesetzt.

3.2.3 Initialisierung/Reset des FB PN_MAIL

Durch Setzen des Parameters COM_RST wird eine Initialisierung bzw. imlaufenden Betrieb ein Reset des Funktionsbausteins PN_Mail (FB490) ausgelöst.Die Initialisierung muss unter folgenden Bedingungen gestartet werden:

Vor dem ersten Einsatz des FB muss eine Initialisierung durchgeführtwerden.

Es kann notwendig sein, den FB zurückzusetzen, falls sich während derSMTP-Kommunikation ein Verbindungsabbruch ereignet hat, oder falls einanderes unvorhergesehenes Ereignis eingetreten ist. (Der FB reagiertjedoch auf die meisten Fehlerfälle selbstständig mit einem Reset,spätestens wenn die an WATCH_DOG_TIME eingestellteÜberwachungszeit abgelaufen ist.)

Wenn Parameter wie die IP-Adresse des SMTP-Servers im laufendenBetrieb geändert werden.

Aus Gründen der Performance und Datenkonsistenz wird nämlich nicht bei jedemAufruf des FB PN_MAIL der komplette, dem FB übergebene Parametersatz in denInstanzdatenbaustein des FB übernommen.3 Stattdessen werden die folgendenParameter nur dann im Instanz-DB aktualisiert, wenn der FB mitCOM_RST = TRUE aufgerufen wird:

USERNAME PASSWORD CC TEXT ATTACHMENT DEVICE_ID

3 Da sich die Abarbeitung eines Mail-Sendeauftrags über etliche CPU-Zyklen erstreckt, wäre dieGefahr von Dateninkonsistenzen hoch, falls z.B. inmitten der Mailübertragung der Inhalt derPuffer für Texte oder Attachments geändert werden würde.

Page 16: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

3 Funktionsmechanismen dieser Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 16

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

3.2.4 Mailübertragung

Ablauf der ÜbertragungDie Mailübertragung wird mit einer positiven Flanke am Eingang REQ des FBPN_MAIL (FB490) angestoßen.Solange die Mailübertragung andauert, liegt an BUSY der Wert TRUE an, undSTATUS bzw. SFC_STATUS geben die jeweils aktuellen Werte des FB PN_MAILbzw. von diesem aufgerufener Systembausteine wieder.Ist die Übertragung abgeschlossen, so fällt BUSY auf FALSE zurück, und DONEsowie ggf. ERROR werden gesetzt.Die folgende Tabelle zeigt die möglichen Kombinationen der Werte von BUSY,DONE und ERROR im Überblick:Tabelle 3-2

BUSY DONE ERROR Zustand.

0 0 0 Es liegt kein Sendeauftrag an1 -- -- Abarbeitung des Sendeauftrags läuft0 1 0 Sendeauftrag erfolgreich abgeschlossen0 0 1 Sendeauftrag mit Fehlermeldung abgebrochen (vgl. Werte

von STATUS und SFC_STATUS)

Erfolg der ÜbertragungDer FB übergibt dem SMTP-Server die Mail zur weiteren Übertragung, und mitdieser Übergabe ist auch der Sendevorgang des FB PN_MAIL abgeschlossen.Das ist nicht gleichbedeutend damit, dass die Mailübermittlung erfolgreichverlaufen ist. Vielmehr erhält der FB überhaupt kein Feedback darüber, ob undwann die Mail den oder die Empfänger erreicht hat. Eine Überprüfung desSendeerfolgs ist nur durch einen Blick in das Empfängerpostfach (bzw. das Logdes SMTP-Servers) möglich.

3.2.5 FB PN_MAIL (FB490): „STATUS“ und „SFC_STATUS“

Die folgende Tabelle liefert einen Überblick über die Werte, die die ParameterSTATUS und SFC_STATUS annehmen können. Sie finden außerdem Hinweise inder Tabelle, wie Sie auf aufgetretene Fehler reagieren können.

Tabelle 3-3

RückgabewertSTATUS(W#16#...)

RückgabewertSFC_STATUS(W#16#...)

Erläuterung Hinweise

0000 Die Bearbeitung des FB PN_MAILwurde fehlerfrei abgeschlossen(wenn DONE = TRUE).

Ein fehlerfreies Beenden desFB PN_MAIL bedeutet nichtautomatisch, dass die versendeteE-Mail beim vorgesehenenEmpfänger ankommt (siehe 3.2.4)

7001 FB PN_MAIL ist aktiv (BUSY = 1).

7002 7002 FB PN_MAIL ist aktiv (BUSY = 1).

Page 17: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

3 Funktionsmechanismen dieser Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 17

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

RückgabewertSTATUS(W#16#...)

RückgabewertSFC_STATUS(W#16#...)

Erläuterung Hinweise

8xxx xxxx Die Bearbeitung von FB PN_MAILwurde mit einem Fehlercode derintern aufgerufenenKommunikations-SFCs oder desSFC 20 "BLKMOV"abgeschlossen.

Ausführliche Informationen zurAuswertung des ParametersSFC_STATUS finden Sie in derDokumentation /2/"OffeneKommunikation über IndustrialEthernet" bzw. in derDokumentation zu"Speicherbereich kopieren mitdem SFC 20 ’BLKMOV’" (Vgl. \5\)oder der Online Hilfe von STEP 7V12.

800z xxxx Die Fehlermeldung stammt vomSFC 20 ’BLKMOV’ und weist aufeinen Fehler beim Kopieren einesder Parameter hin. Die letzte Zifferidentifiziert den verantwortlichenParameter:z = 1 TO_Sz = 2 CCz = 3 FROMz = 4 SUBz = 5 TEXTz = 6 ATTACHMENTz = 7 USERNAMEz = 8 PASSWORD

Siehe auch die Dokumentationdes SFC 20 ’BLKMOV’’ (Vgl. \5\)

8010 xxxx Fehler beim Verbindungsaufbau. Möglicherweise wurde nach demLaden des Instanz-DBs derCOM_RST nicht gesetzt, vgl.3.2.3.Überprüfen Sie auch dieangegebenenVerbindungsparameter und ob deradressierte SMTP-Server aktiv ist.

8011 xxxx Fehler beim Senden der Daten. Weitere Informationen zurAuswertung des SFC_STATUSfinden Sie in der Dokumentation/2/ "Offene Kommunikation überIndustrial Ethernet" in derBeschreibung der Blöcke "FB 65TCON", "FB 63 TSEND", "FB 64TRCV", "FB 66 TDISCON".

8012 xxxx Fehler beim Empfangen derDaten.

Dieser Fehler ereignet sich unteranderem als Folge einer falschkonfigurierten DEVICE_ID, oderfalls nach einer Änderung derParameter kein Bausteinreset(3.2.3) durchgeführt wurde.

8013 xxxx Fehler beim Verbindungsaufbau.

Page 18: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

3 Funktionsmechanismen dieser Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 18

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

RückgabewertSTATUS(W#16#...)

RückgabewertSFC_STATUS(W#16#...)

Erläuterung Hinweise

8014 Aufbau einer Verbindung nichtmöglich.

Möglicherweise haben Sie einefehlerhafte Mail-Server-IP-Adresse(ADDR_MAIL_SERVER) odereine zu kleine Zeitspanne(WATCH_DOG_TIME) für denVerbindungsaufbau eingegeben.Es besteht auch die Möglichkeit,dass die CPU keine Verbindungzum Netzwerk hat oder die CPU-Konfiguration fehlerhaft ist.

82xx,84xx,85xx

Fehlermeldungen aus diesemNummernband stammen vomMail-Server und entsprechen bisauf die führende Ziffer "8" derFehlernummer des SMTP-Protokolls.In den nachfolgenden Zeilen sindeinige Fehlercodes aufgeführt, dieim Betrieb des FB PN_MAILauftreten können:

Vergleichen Sie hierzu auch Kap.6.3 im Anhang.

8450 Aktion nicht ausgeführt: Mailboxnicht verfügbar/nicht erreichbar.

Versuchen Sie es später nocheinmal.

8451 Aktion abgebrochen: LokalerFehler in der Verarbeitung

Versuchen Sie es später nocheinmal.

8500 Syntax-Fehler: Fehler nichterkannt. Das schließt auch denFehler einer zu langenBefehlskette ein. Ursache kannauch sein, dass der E-Mail-Serverdas AuthentisierungsverfahrenLOGIN nicht unterstützt.

Überprüfen Sie die Parameter desFB PN_MAIL.Versuchen Sie, eine E-Mail ohneAuthentisierung zu versenden.Ersetzen Sie dazu den ParameterUSERNAME durch einen leerenString.Stellen Sie sicher, dass Ihr SMTP-Server konfiguriert ist, LOGIN-Authentisierungen zu akzeptieren.(siehe 3.2.1)

8501 Syntax-Fehler: Parameter oderArgument falsch

Möglicherweise haben Sie fürTO_S oder CC eine Adresse mitfehlerhafter Syntax eingegeben.(Fehlende spitze Klammern,fehlendes Komma o.ä., siehe3.2.2)

8502 Befehl unbekannt bzw. nichtimplementiert.

Überprüfen Sie Ihre Eingaben,insbesondere den ParameterFROM. Möglicherweise ist dieserunvollständig und Sie haben "@"oder "." vergessen, siehe 3.2.2.

8535 SMTP-Authentisierungunvollständig.

Eventuell haben Sie einennichtexistenten Benutzernamenoder ein nicht zum Accountpassendes Passwort eingegeben.

Page 19: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

3 Funktionsmechanismen dieser Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 19

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

RückgabewertSTATUS(W#16#...)

RückgabewertSFC_STATUS(W#16#...)

Erläuterung Hinweise

8550 Mail-Server kann nicht erreichtwerden, Sie haben keineZugriffsrechte.

Möglicherweise haben Sie einenfehlerhaften Benutzernamen bzw.Passwort eingegeben oder derMail-Server unterstützt Ihr LOGINnicht. Eine weitere Fehlerursachekönnte eine fehlerhafte Eingabedes Domainnamens nach dem"@" in TO_S bzw. CC sein.

8552 Aktion abgebrochen:Überschreitung der zugewiesenenSpeichergröße

Versuchen Sie es später nocheinmal.

8554 Übertragung misslungen. Versuchen Sie es später nocheinmal.

Page 20: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

4 Installation und Inbetriebnahme

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 20

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

4 Installation und InbetriebnahmeVoraussetzungen

Für die Inbetriebnahme der Beispielapplikation und das Senden von E-Mailsmüssen die folgenden Voraussetzungen erfüllt sein: Sie S7-CPU muss mit der folgenden IP-Konfiguration den SMTP-Server

erreichen können:– IP: 172.16.50.5– Subnetzmaske: 255.255.0.0Alternativ können Sie auch die IP-Adresse der CPU ändern.

Der SMTP-Server muss korrekt eingerichtet sein und Zugang zum Internethaben.

HinweisDie Installation und Inbetriebnahme ist mit einer CPU 315-2 PN/DP beschrieben.Sie können auch eine beliebige andere unter 2.3 aufgelistete SPS verwenden.

4.1 Hardwareaufbau CPU 315-2 PN/DPAbbildung 4-1

CPU 315-2 PN/DP

SMTP-ServerPC

LAN/WAN/InternetEthernet

Beachten Sie die Vorschriften zum Aufbau einer S7-Station!

Nr. Vorgehen Anmerkung

1. Stecken Sie das Power Supply und dieCPU auf den entsprechendenBaugruppenträger.

2. Verdrahten Sie die CPU mit dem PowerSupply.

Achten Sie auf die richtige Polung!

3. Verbinden Sie die CPU per Ethernet-Kabel mit dem SMTP-Server.

4. Verbinden Sie den Power Supply mitdem Stromnetz.

Page 21: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

4 Installation und Inbetriebnahme

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 21

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

4.2 Installation der SoftwareTabelle 4-1 Installation der Software-Komponenten

Nr. Aktion Anmerkung

5. Installieren SieSTEP 7 Professional V12.0 SP1

Beachten Sie dabei die Hinweise des Systemhandbuchs\9\.

6. Laden Sie das Beispielprojekt„46817803_SMTP_Mail_V12_CODE_V1_0.zip“ von der Siemens OnlineSupport Seite.

Sie erreichen den Beitrag unter folgendem Link:http://support.automation.siemens.com/WW/view/de/46817803

Öffnen und Laden des TIA Portal-ProjektsTabelle 4-2

Nr. Aktion Anmerkung

1. Laden Sie die Datei„46817803_SMTP_Mail_V12_CODE_V1_0.zip“ auf Ihre Engineering Station herunter undentpacken Sie den Ordner.

2. Doppelklicken Sie im Programmordner auf dasIcon „46817803_SMTP.ap12“.Jetzt öffnet sich das Projekt in TIA V12.

3. Klicken Sie auf die CPU „S7-300“ und ladenSie über „Online > PLC Anwenderprogramm inGerät laden und zurücksetzen“ („Online >Download and reset PLC programm“) dasAnwenderprogramm in die CPU.

4. Nun können Sie einzelne Variablen und denZustand der CPU beobachten.

In Kapitel 5 wird beschrieben, wie Sie eine E-Mail an den SMTP-Server senden.

Page 22: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

4 Installation und Inbetriebnahme

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 22

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

4.3 Herstellung einer Internet-Verbindung zum SMTP-ServerDie Funktion des FB PN_MAIL hängt davon ab, dass eine Internet/Intranet-Verbindung zu einem von Ihnen gewählten SMTP-Server existiert.Achten Sie darauf, dass auf dem SMTP-Server ein Account eingerichtet ist, dessenZugangsdaten mit jenen übereinstimmen, mit denen Sie den FB PN_MAIL füttern.Dies ist insbesondere wichtig, falls der SMTP-Server nicht „offen“ ist, d.h. falls erkeine anonyme Weiterleitung von Nachrichten erlaubt.

HINWEIS Für Details zur Konfiguration Ihrer Internetverbindung, ziehen Sie die UnterlagenIhres Internetdienstanbieters (ISP) zu Rate, und folgen Sie den dortvorgegebenen Abläufen!

HINWEIS Achten Sie darauf, dass der von Ihnen gewählte SMTP-Server konfiguriert ist,eines der Authentifizierungsverfahren zu akzeptieren, die der FB PN_MAILunterstützt (vgl.3.2.1)!

Page 23: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

5 Bedienung der Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 23

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

5 Bedienung der Applikation5.1 Mailversand mit Hilfe des SMTP-Bausteins

FB PN_MAILUm eine Mail an den SMTP-Server zu verschicken, nachdem Sie diesenentsprechend konfiguriert haben, nehmen Sie folgende Schritte vor:Tabelle 5-1

1. Übergeben Sie im FB 1 als Parameter ADR_MAIL_SERVER die IP-AdresseIhres SMTP-Servers

2. Geben Sie im FB1 an den Eingang DEVICE_ID des FB PN_Mail die Device IDIhrer SPS an. Informationen zur Device ID Ihrer SPS finden Sie unter anderemim Online Support Portal unter der Beitrags ID 51339682.

3. Geben Sie am Parameter CONN_ID die zu verwendende Verbindungs-ID an.Beachten Sie, dass diese ID im Anwenderprogramm und bei der Projektierungkein weiteres Mal verwendet werden darf. (siehe Kapitel 3.2.2)

4. Befüllen Sie den DB Param_DB mit den Adressen und Inhalten, die Sieversenden wollen (vgl. Kapitel 3.2 und Abb. 5-1).

5. Belegen Sie den Eingang ATTACHMENT mit der Angabe, welche Daten Sie alsAnhang der E-Mail schicken wollen. Beachten Sie, dass der Default Wert desAnhangs „NULL“ (es wird keine Anhang mitgesendet) ist.

6. Laden Sie die Projektierung auf die CPU herunter.

7. Führen Sie einen Reset des FB PN_MAIL durch, indem Sie„FB1_DB“.COM_RST auf TRUE setzen (vgl. Kap. 3.2.3).Nach einem kurzen Augenblick wird „FB1_DB“.COM_RST wieder auf FALSEgesetzt.

8. Setzen Sie „FB1_DB“.Req auf TRUE, um den Mail-Sendevorgang zu starten.„FB1_DB“.Busy wechselt für einige Momente auf TRUE. Im SpeicherbereichPN_Mail_DB.buffer werden die SMTP-Servermeldungen im Klartext angezeigt.

9. Nach Beendigung der Übertragung wird „FB1_DB“.Busy wieder auf FALSEgesetzt. („FB1_DB“.Done wird für einen Zyklus auf TRUE gesetzt und dannwieder gelöscht; vermutlich läuft dieser Vorgang zu schnell ab, als dass Sie ihnin der Beobachtungstabelle sehen könnten.)

10. Falls es zu einem Fehler gekommen ist, der die Mailübertragung verhindert hat,so wird „FB1_DB“.Error für einen Zyklus auf TRUE gesetzt. In diesem Fallenthalten die Variablen „FB1_DB“.Status und „FB1_DB“.sfc_Status die zuletztgültigen Werte für STATUS bzw. SFC_STATUS.

11. Überprüfen Sie, ob Ihre E-Mail beim Empfänger ankommt. Je nach Auslastungdes SMTP Servers kann dies von wenigen Sekunden bis zu wenigen Minutendauern.

Page 24: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

5 Bedienung der Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 24

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

12. Um eine weitere Mail zu versenden, setzen Sie „FB1_DB“.Req auf FALSEzurück und wieder auf TRUE. (Der Mailversand wird durch die steigende Flankevon „FB1_DB“.Req angestoßen.)

13. Falls sich zwischen zwei Mails die Empfängeradressen o.ä. ändern, wiederholenSie Schritt 7 und führen Sie damit eine Baustein-Initialisierung durch.

5.2 Nutzung von Datenbausteinen undBeobachtungstabelleDas beigefügte Projektierungsbeispiel können Sie steuern, indem Sie die Wertedes DB Param_DB bzw. der in der Beobachtungstabelle „Email“ bereitgestelltenVariablen anpassen. Die Beobachtungstabelle „Email“ bietet Ihnen darüber hinausdie Möglichkeit, die Abarbeitung des Mailversands zu verfolgen und die Ergebnissezu kontrollieren.Die Inhalte des DB Param_DB werden vom FB 1 als Parameter für den Aufruf desFB PN_MAIL verwendet. Zum Format der Parameter im Einzelnen, vergleichen Siemit Kap. 3.2.2)Abb. 5-1: DB Param_DB

Die Werte für USERNAME und PASSWORD unterscheiden sich bei Ihnenvermutlich und müssen den Accounts, die auf dem von Ihnen verwendeten SMTP-Server eingerichtet wurden, entsprechen.Eine Reihe von Parametern für den FB PN_MAIL werden nicht dem DB Param_DBentnommen, sondern direkt übergeben, und zwar unter anderem der EingangREQ, sowie die IP-Adresse des SMTP-Mail-Servers (ADR_MAIL_SERVER).

Page 25: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

5 Bedienung der Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 25

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

Abbildung 5-2

Der dem Aufruf des FB 1 folgende Programmabschnitt dient zur permanentenFixierung von Fehlermeldungen, die normalerweise nur einen Zyklus lang anliegenund ansonsten nach dem nächsten CPU-Zyklus wieder überschrieben werden:Falls ein Fehler aufgetreten ist (ERROR_FB), dann wird das Flag ‚Error’ gesetztund die Werte für STATUS und SFC_STATUS werden in die Variablen„FB1_DB“.Status und „FB1_DB“.sfc_Status kopiert.

Page 26: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

5 Bedienung der Applikation

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 26

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

Abb. 5-3 zeigt die Beobachtungstabelle „Email“ während der Abarbeitung einesMailversandauftrags.Abb. 5-3: Beobachtungstabelle „Email“ (Ausschnitt)

Die Einträge der Beobachtungstabelle bedeuten im Einzelnen (Zu denBedeutungen der einzelnen Parametern des FB PN_MAIL, siehe auch 3.2.2.):

Tabelle 5-2

Speicherbereich Bedeutung

„FB1_DB“.Com_RST COM_RST = TRUE bewirktInitialisierung/Reset des FB PN_Mail.

„FB1_DB“.Req Eine positive Flanke bewirkt den Anstoßeines Mail-Sendeauftrags.

„FB1_DB“.Busy Zeigt an, ob der Baustein momentaneinen Mail-Sendeauftrag abarbeitet.

„FB1_DB“.Status_FB Status des FB.„FB1_DB“.Status Gespeicherter Status des FB PN_Mail„FB1_DB“.sfc_Status Gespeicherte Fehlermeldung einer

Anweisung des FB PN_Mail„FB1_DB“.Device_ID Aktuell verwendete Device ID, abhängig

von der verwendeten SPS. Siehe auchOnline Hilfe von STEP 7 V12.

PN_Mail_DB.ADR_MAIL_SERVER Übergebene IP Adresse des SMTPServers in Hex-Format.

PN_Mail_DB.TCONPAR.RemoteAddress.ADDR[1] Erstes Byte der IP Adresse in denVerbindungseigenschaften. Wird durchCOM_RST=TRUE ausPN_Mail_DB.ADR_MAIL_SERVERübernommen.

PN_Mail_DB.state Momentaner Zustand desZustandsautomaten

PN_Mail_DB.buffer1 Interner Buffer des FB PN_Mail. Zeigtu.a. Antworten des SMTP Servers an.

PN_Mail_DB.DATA Zeigt an, welcher Befehl als nächstesan den SMTP Server gesendet wird.

Page 27: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

6 Anhang

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 27

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

6 Anhang6.1 SMTP-Befehle: Minimaler Befehlssatz

Der Befehlssatz, den SMTP-Server verstehen müssen, ist begrenzt. EineMinimalimplementierung ist bereits mit nur acht verschiedenen Kommandosmöglich:

Tabelle 6-1: Minimaler Befehlssatz für einen SMTP-Server

SMTP-Kommando Beschreibung

HELO/EHLO(Hello/ExtendedHello)

HELO bzw. EHLO startet die SMTP-Sitzung und identifiziert den Client am Server.

MAIL MAIL leitet die Mailübertragung ein und liefert gleich die Absender-Adresse mit.RCPT (Recipient) RCPT gibt die Adresse eines oder mehrere Empfänger an. Dieses Kommando

kann mehrmals ausgeführt werden.DATA Mit DATA wird die Übermittlung der E-Mail-Nachricht eingeleitet. Das Ende der E-

Mail-Nachricht wird mit "CRLF.CRLF" gekennzeichnet.RSET (Reset) Mit RSET wird die bereits eingeleitete Mailübertragung abgebrochen. Die

Verbindung zwischen Client und Server bleibt bestehen.VRTY (Verify) Mit VRFY kann die Empfänger-Adresse überprüft werden.EXPN (Expand) Die meisten MTAs behandeln EXPN wie VRFY.NOOP NOOP bewirkt eine Antwort vom Server. Damit wird die Verbindungstrennung

durch einen Timeout verhindert.

6.2 Ablauf einer SMTP-Verbindung zwischen Client undServerDie folgende Tabelle zeigt beispielhaft den Nachrichtenverkehr der beimVersenden einer Mail zwischen dem Client und seinem Server zustande kommt.Die Befehle wie auch der eigentliche Mail-Inhalt werden in Form von ASCII-Textkommandos ausgetauscht. Dadurch (und durch die Verwendung relativgroßzügiger Timeouts) ist es möglich, einen Mailversand „von Hand“durchzuführen, indem mit einem Server eine Telnet-Verbindung aufgebaut wird,bei der die folgenden Mailkommandos über das Terminal eingegeben werden.

Tabelle 6-2: Ablauf eines SMTP-Dialogs zwischen Client und Server beim Versenden einer Mail ohneAuthentifizierung

Client Server Erläuterung

220smtp.example.com ESMTP Postfix

HELOrelay.example.org

Sendet der Client an dieser Stelle EHLO statt HELO, soantwortet der Server mit einer Liste der unterstütztenAuthentifizierungsverfahren, und einAuthentifizierungsdialog kann beginnen.

250 Hellorelay.example.org,I am glad to meetyou

Page 28: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

6 Anhang

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 28

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

Client Server Erläuterung

MAILFROM:<[email protected]>

Account des Absenders der Nachricht. Fallsentsprechende Authentifizierungsverfahren verwendetwerden, muss dieser Account auf dem Server existieren.

250 OkRCPTTO:<[email protected]>

Eine Liste der Empfängeraccounts beginnt.

250 Ok Jede Empfängeradresse wird vom Server quittiert.RCPTTO:<[email protected]>

250 OkDATA Die Liste der Empfänger ist beendet, Beginn des

Hauptteils der Mail.354 End data with<CR><LF>.<CR><LF>

Hinweis des Servers: Der Hauptteil wird fortgesetzt, biseine Zeile, die nur aus dem Dezimalpunkt „.“ besteht,übertragen wird.

From: "BobExample"<[email protected]>

Es folgen Absender- und Adressatenfelder. Diese Felderbesitzen nur informativen Charakter und müssen nichtnotwendigerweise mit den Empfängeraccounts obenübereinstimmen!

To: "AliceExample"<[email protected]>Cc:[email protected]: Tue, 15 Jan2008 16:02:43 -0500

Datum und Zeit der Nachricht, wie sie vom Clientbereitgestellt werden.An dieser Stelle können noch PRIORITY- undIMPORTANCE-Felder eingefügt werden.

Subject: Testmessage

Hello Alice.This is a testmessage with 5header fields and4 lines in themessage body.Your friend,Bob. Zeile mit nur einem Dezimalpunkt als Ende des

Mailrumpfes.250 Ok: queuedas 12345

Quittierung des Servers

QUIT221 Bye

Page 29: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

6 Anhang

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 29

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

6.3 Status- und Fehlermeldungen eines SMTP-ServersIn der Abwicklung des Mailverkehrs sendet der SMTP-Server alle Status- bzw.Fehlermeldungen in Form einer dreistelligen dezimalen Nummer, gefolgt von derBeschreibung im Klartext. Eine solche Meldung hat z.B. die Form354 End data with.Die Nummer „354“ beschreibt den Serverstatus (in diesem Fall: Der Server istbereit, den Body der Mail zu empfangen), während der Rest der Zeile ein Hinweisfür einen möglichen menschlichen Bediener auf Client-Seite ist. (Hier: DieÜbermittlung des Mail-Bodys wird beendet, indem eine Zeile bestehend aus nureinem Dezimalpunkt „.“ eingegeben wird.)Zur Auswertung des SMTP-Serverstatus genügt die Kenntnis der Statusnummer.Die Kategorie der Statusnummern wird durch ihre erste Ziffer angezeigt:

2xx: Positive Antwort, der Befehl wurde ausgeführt 3xx: Positive Antwort, der Server braucht aber noch weitere Angaben für

die erfolgreiche Ausführung 4xx: „Vorübergehender“ Fehler, z.B. keine Verbindung verfügbar.

Möglicherweise tritt der Fehler bei einem erneuten Versuch nicht mehr auf 5xx: Dauerhafter Fehler, z.B. Kommando nicht verstanden. Wiederholung

desselben Kommandos verspricht keine Besserung.

Tabelle 6-3: SMTP-Serverstatuscodes

Status-Code Beschreibung Englisch Beschreibung Deutsch

211 System status, or system help reply. System-Status oder System-Hilfe.214 Help message. Hilfe - Informationen zum Ausführen

eines Kommandos.220 Domain service ready. Ready to start TLS. Server bereit.221 Domain service closing transmission channel. Server beendet Verbindung.250 OK, queuing for node node started. Requested mail

action okay, completed.Kommando ausgeführt.

251 OK, no messages waiting for node node. User notlocal, will forward to forwardpath.

Keine lokale Mailbox; Weiterleitung an"forward-path".

252 OK, pending messages for node node started.Cannot VRFY user (e.g., info is not local), but willtake message for this user and attempt delivery.

Überprüfung der Empfängeradressenicht möglich; Die Nachricht wirddennoch versendet.

253 OK, messages pending messages for node nodestarted.

354 Start mail input; end with <CRLF>.<CRLF>. Starte Empfang der Mail; Beenden mit"CRLF". "CRLF".

355 Octet-offset is the transaction offset.421 Domain service not available, closing transmission

channel.Service nicht verfügbar; Verbindungwird beendet.

432 A password transition is needed.450 Requested mail action not taken: mailbox

unavailable. ATRN request refused. 4Aktion nicht ausgeführt - Mailbox nichtverfügbar.

4 ATRN: „Authenticated Turn“, ein Verfahren zum Mailversand bei Verwendung dynamischer IP-Adressen. Wird auch als ODMR („On-Demand Mail Relay“) bezeichnet.

Page 30: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

6 Anhang

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 30

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

Status-Code Beschreibung Englisch Beschreibung Deutsch

451 Requested action aborted: local error in processing.Unable to process ATRN request now.

Aktion abgebrochen - Fehler beimAusführen.

452 Requested action not taken: insufficient systemstorage.

Aktion abgebrochen - Nicht genügendSystem-Speicher.

453 You have no mail.454 TLS not available due to temporary reason.

Encryption required for requested authenticationmechanism.

458 Unable to queue messages for node node.

459 Node node not allowed: reason.

500 Command not recognized: command. Syntax error. Syntax-Fehler - Kommandounbekannt.

501 Syntax error, no parameters allowed. Syntax-Fehler - Parameter oderArgument falsch.

502 Command not implemented. Kommando unbekannt / nichtimplementiert.

503 Bad sequence of commands. Falsche Reihenfolge der Kommandos.504 Command parameter not implemented. Parameter unbekannt / nicht

implementiert.521 Machine does not accept mail.

530 Must issue a STARTTLS command first. Encryptionrequired for requested authentication mechanism.

534 Authentication mechanism is too weak.538 Encryption required for requested authentication

mechanism.550 Requested action not taken: mailbox unavailable. Syntax-Fehler - Kommando

unbekannt.551 User not local; please try forwardpath. Mailbox nicht lokal; "forward-path"

versuchen.552 Requested mail action aborted: exceeded storage

allocation.Aktion abgebrochen - Fehler bei derSpeicherzuweisung.

553 Requested action not taken: mailbox name notallowed.

Aktion nicht ausgeführt - Mailbox-Name nicht erlaubt (Syntax inkorrekt).

554 Transaction failed. Transaktion fehlgeschlagen (beimVerbindungsaufbau: Kein SMTP-Service verfügbar).

Page 31: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

7 Literaturhinweise

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 31

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

7 Literaturhinweise7.1 Literaturangaben

Diese Liste ist keinesfalls vollständig und spiegelt nur eine Auswahl an geeigneterLiteratur wieder.Tabelle 7-1

Themengebiet Titel

/1/ STEP7 Automatisieren mit STEP7 in AWL und SCLHans BergerPublicis MCD VerlagISBN 3-89578-113-4

/2/ OffeneKommunikation

„Offene Kommunikation über Industrial Ethernet“, SiemensDokumentation A5E00711636-01

7.2 Internet-Link-AngabenDiese Liste ist keinesfalls vollständig und spiegelt nur eine Auswahl an geeignetenInformationen wider.

Tabelle 7-2

Themengebiet Titel

\1\ Referenz auf den Beitrag http://support.automation.siemens.com/WW/view/de/46817803

\2\ Siemens I IA/DT Customer Support http://support.automation.siemens.com

\3\ Handbuch: TeleService S7-LibraryV6.1

http://support.automation.siemens.com/WW/view/de/24781774

\4\ Handbuch: S7-CPs für IndustrialEthernet Projektieren und in Betriebnehmen, Teil A (siehe Kap. 8)

http://support.automation.siemens.com/WW/view/de/30374198

\5\ Handbuch: System- undStandardfunktionen für S7-300/400Band 1 und Band 2, (siehe Kap. 3.1)

http://support.automation.siemens.com/WW/view/de/44240604

\6\ FAQ: STEP 7 Hardware SupportPackages (HSPs - Stand: 11/2010)zum Installieren der HW-Updates inder HW-Konfiguration

http://support.automation.siemens.com/WW/view/de/23183356

\7\ FAQ: Wie kann der Hardwarekatalogohne direkten Internet-Zugangaktualisiert werden?

http://support.automation.siemens.com/WW/view/de/22374877

\8\ SIMATIC S7-300 CPU 31xC undCPU 31x: Technische Daten

http://support.automation.siemens.com/WW/view/de/12996906

\9\ Systemhandbuch STEP 7 V12 http://support.automation.siemens.com/WW/view/en/77991795

\10\ SIMATIC NET,Programmbausteinefür SIMATIC NET S7-CPs,Programmierhandbuch

http://support.automation.siemens.com/WW/view/de/30564821

Page 32: Applikationsbeschreibung y 12/13 Senden von E-Mails an ... · Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr. Unsere Haftung, gleich aus welchem

8 Historie

E-Mail-Versand mit S7-CPUV1.0, Beitrags-ID: 46817803 32

Cop

yrig

htSi

emen

sAG

2013

Allr

ight

sre

serv

ed

7.2.1 Relevante RFCs

SMTP wurde in einer Reihe von RFCs („Requests for Comments“; von der InternetEngineering Task Force veröffentlichte Richtlinien, Definitionen undNormierungsvorschläge) formalisiert.Die wichtigsten diesbezüglichen RFCs sind:Tabelle 7-3

RFCNr.

Themengebiet URL

-- Übersicht aller veröffentlichten RFCs http://tools.ietf.org/rfc

821 SMTP-Definition http://tools.ietf.org/html/rfc821

822 Format für “ARPA Internet Text Messages”,Vorgänger der E-Mail

http://tools.ietf.org/html/rfc822

2195 „CRAM-MD5“-Authentifizierung http://tools.ietf.org/html/rfc2195

2554 SMTP-Erweiterung um SMTP-Authentifizierungsverfahren

http://tools.ietf.org/html/rfc2554

2595 Authentifizierungsverfahren „PLAIN“ und „LOGIN“ http://tools.ietf.org/html/rfc2595

2821 Erweiterung von SMTP, löst RFC 821 ab http://tools.ietf.org/html/rfc2821

2822 E-Mail-Format5, löst RFC 822 ab http://tools.ietf.org/html/rfc2822

2831 „DIGEST-MD5“-Authenfizierungsverfahren“ http://tools.ietf.org/html/rfc2831

5321 Definition von SMTP mit weiterenModernisierungen, löst RFC 2821 ab

http://tools.ietf.org/html/rfc5321

8 Historie

Tabelle 8-1

Version Datum Änderung

V1.0 12/13 Erste Ausgabe für STEP 7 V12

5 Hier noch als „Internet Message Format“ bezeichnet