# EMAIL mit Anhang aus filesystem versenden



## NeuerSIMATICNutzer (13 November 2015)

Hi,

ich versuche über eine 750-8202 EMails mit Anhang zu versenden. Das klappt auch wunderbar. Jetzt wollte ich eine csv Datei die vom Wago Datalogger geschrieben wird als Anhang mit schicken.
Ich kann mit dem SMTP_Client aus der [FONT=Arial,Bold][FONT=Arial,Bold]WagoLibMail_02.lib über den ptAttachment nur auf einen Datenbereich zeigen in dem Daten liegen aber doch nicht auf eine CSV? Hat das schonmal jemand gelöst oder hjabe ich vielleicht was übersehen und es geht mit dieser Lib doch irgendwie? Habe im Netz schon gesucht aber finde nichts speziell für diese Anwendung. Es gibt zwar die WAGOLibSecureMail.lib in der man mit dem Baustein SMAIL_Client2 direkt auf eine Datei hinweisen kann aber ich sollte es ohne SSL/TLS realisieren.

VG
NSN[/FONT][/FONT][FONT=Arial,Bold][FONT=Arial,Bold][/FONT][/FONT][FONT=Arial,Bold][FONT=Arial,Bold][/FONT][/FONT]


----------



## lord2k3 (13 November 2015)

Hallo, 
Hast du denn schon getestet ob es funktioniert wenn du auf die Adresse mit der dazugehörigen Größe verweist? Sollte so prinzipiell funktionieren.


----------



## NeuerSIMATICNutzer (13 November 2015)

lord2k3 schrieb:


> Hallo,
> Hast du denn schon getestet ob es funktioniert wenn du auf die Adresse mit der dazugehörigen Größe verweist? Sollte so prinzipiell funktionieren.



Sorry, wie meinst du das genau? Welche Adresse?

Gruß NSN


----------



## .:WAGOsupport:. (13 November 2015)

Hallo NeuerSIMATICNutzer,

auf unserer Webseite findest Du ein Anwendungshinweis bezüglich der WagoLibMail.
http://www.wago.de/suche/index.jsp?...02+&x=0&y=0#appnotedetails4824755019151760372

In der Zip-Datei findest Du für verschiedene Zielsysteme ein Beispiel.
Am einfachsten wäre hier der Funktionsbaustein "MAIL_ESMTP_Client2", da dieser auch die Pfadangabe zu der anzuhängenden Datei akzeptiert.


----------



## lord2k3 (13 November 2015)

Datei öffnen und die Startadresse des Buffers übergeben.
Ich denke der o.g. Baustein wäre für dich interessanter.


----------



## NeuerSIMATICNutzer (16 November 2015)

Hallo,

leider ist der MAIL_ESMTP_Client2 in der Anleitung nicht beschrieben. Kann ich die max. Dateigröße irgendwie erhöhen?

VG
NSN


----------



## lord2k3 (16 November 2015)

Steht in dem PDF,  variable muss global verschattet werden.


----------



## NeuerSIMATICNutzer (16 November 2015)

Welche Variable und was heißt verschatten?


----------



## lord2k3 (16 November 2015)

Du kannst globale konstante Variablen aus Bibliotheken überschreiben (verschatten). 

Erstell diese Variable (konstant global) mit einem höheren Wert:
MAX_SEND_ TCP_CLIENT


 [1..  MAX_SEND_ TCP_CLIENT]   of  Byte This  pointer  shows  to  the  data  source for  the  attachment,  The  maximum  size is  limited  to  aprox  10kB  but  can  exceed by  hiding  the  constant  with  a  local constant  of  the  same  name MAX_SEND_TCP_CLIENT  :=  65000;


----------



## NeuerSIMATICNutzer (16 November 2015)

Wieder was dazu gelernt. Vielen Dank. Das versenden klappt jetzt.
Ich versende eine CSV mit 85kb. Allerdings fehlt ein Teil der Daten der CSV.
Ist hier noch irgendwas begrenzt?

Gruß NSN


----------



## lord2k3 (16 November 2015)

Vergrößer die variable noch mal, es sollte vermutlich daran liegen. 
Alternativ stimmt die zu sende Größe nicht.


----------



## NeuerSIMATICNutzer (16 November 2015)

Die Datei wird nicht in der ganzen Größe übertragen. Die empfangene Datei hat 21kb, auf der WAGO hat sie allerdings 86kb.
Variable habe ich schon auf 1500000 eingestellt. leider ohne Erfolg.....


----------



## PN/DP (16 November 2015)

Hat der Funktionsbaustein "MAIL_ESMTP_Client2" auch einen Eingang iAttachmentLength? Welchen Datentyp hat iAttachmentLength? Wenn das wie in der WagoLibMail-Pdf beschrieben ein INT ist, dann kann man da nur max 64kB Länge angeben (genaugenommen eigentlich nur 32kB) --> der Anhang kann dann also nur max 64kB groß sein. Das beschriebene Erhöhen der Arraygröße per Konstante "MAX_SEND_TCP_CLIENT := 65000;" wäre da irgendwie sinnfrei.

Wie hast Du die Dateilänge = Länge des Arrays an iAttachmentLength als 85kB angegeben, ohne daß der Compiler meckert? 

Harald


----------



## NeuerSIMATICNutzer (16 November 2015)

Den Eingang iAttachmentLength gibt's an dem Baustein nicht. Hab mal den Baustein angehängt.




Gruß NSN


----------



## PN/DP (16 November 2015)

Die Wago-Dokumentations-PDF dokumentiert nicht den in der WagoLibMail_02 mitgelieferten FB MAIL_ESMTP_Client2 
Zeigt Dein Screenshot alle Eingänge, die der FB MAIL_ESMTP_Client2 hat, oder sind bei dem Aufruf vielleicht Eingänge ausgeblendet? Nach dem Bild hat man keine Möglichkeit die Länge der AttachmentDatei vorzugeben - sie müßte also von dem FB selbst ermittelt werden. Wenn Deine Datei ca. 85kB lang ist, aber nur 21kB angehängt werden, dann scheint der Baustein die Dateilänge falsch zu verarbeiten (interessanterweise ist 21 = 85 modulo 64). Oder ist die AttachmentDatei eventuell durch einen Prozess geöffnet und noch nicht komplett gespeichert?
Es ist auch nicht ersichtlich, ob der FB die Konstante MAX_SEND_TCP_CLIENT irgendwie verarbeitet. Wenn Du MAX_SEND_TCP_CLIENT mal auf 5000 setzt - wird die Anhanggröße dann auf 5000 Byte begrenzt?

Leider kann ich die Lib nicht öffnen, ich habe kein Codesys. Ich vermute mal, daß Wago uns nicht in den Code des FB MAIL_ESMTP_Client2 reinschauen läßt, um zu sehen, wo die falsche Dateilänge herkommt? Da bist Du wohl auf eine Antwort von Wago angewiesen.

Harald


----------



## NeuerSIMATICNutzer (16 November 2015)

Es sind nur die Eingänge vorhanden die du auf dem Screen siehst. Reduziere ich die MAX_SEND_TCP_CLIENT auf einen kleinerer Wert
wie die Datei bekomme ich ja ne Meldung beim senden das die Datei zu groß ist.

Ich glaube auch das mir da nur WAGO selbst weiterhelfen kann..

Gruß NSN


----------



## .:WAGOsupport:. (20 November 2015)

Hallo NeuerSIMATICNutzer,

die Vermutung, dass die aktuelle Version nur ~ 65 kByte verschickt kann ich bestätigen.
Anbei eine überarbeitete Version, welche ansonsten nur noch durch den MAX_SEND_TCP_CLIENT limitiert werden sollte.


----------



## Hetschi (8 Januar 2016)

Hallo zusammen,

in meinem Projekt sollen vin einem PFC200 750-8202 mit e!runtime SSL-verschlüsselte eMails versendet werden.
Da ich jedoch in e!Cockpit keine entsprechenden Bausteine/Libs entdecken konnte frage ich mich ob man die WagoLibMail_02 auch un e!cockpit zum laufen bringen kann?

Es muss doch auch in e!cockpit eine email Lösung geben?

Hat da jemand bereits Erfahrungen sammeln können?


----------



## .:WAGOsupport:. (13 Januar 2016)

Hallo Hetschi,

aktuell sind in e!Cockpit noch keine Bibliotheken zum versenden von Emails vorhanden.
Eine WAGO Bibliothek aus Codesys 2.3 kann u.a. wegen des Passwortschutzes nicht übernommen werden und ist so auch von uns nicht so geplant.

Hier Bitte ich Dich um ein wenig Geduld bis die passende Bibliothek für e!Cockpit veröffentlich wird.


----------

