Heute muss ich um einen Report, einem nicht Papyrus Nutzer (ja gibt es leider noch)per Mail zu senden, zuerst den Report erzeugen, das erzeugte Dokument im pdf oder doc Format abspeichern, meistens noch den Pfad auswählen, das E-Mailprogramm starten das Dokument anhängen (nicht vergessen) und versenden.
Die jeztige Möglichkeit setzt ja immer voraus das ein Datenfeld besteht in dem der Empfänger bereits steht, also im Datensatz muss der Empfänger eingetragen sein.
Gäbe es nicht die Möglichkeit dies alles in einem Report zu automatisieren.
Stelle mir das so vor:
Im jeweiligen Report einen fixen Email Empfänger zu definieren. Dieser wird beim ausführen ausgelesen ein PDF erzeugt (oder DOC) dieses in einem ebenfalls im Report definierten Pfad gespeichert wenn gewünscht, und das erzeugte Dokument sogleich versandt.
Oder ist sowas in genau dieser Art schon möglich. Ich habs nicht hinbekommen. (wenn, dann ist eine …zuFuss… Anleitung natürlich willkommen)
Ich muss sagen, dass mir eine solche Möglichkeit auch sehr willkommen wäre, so könnte ich erstellte Angebote, oder Rechnungen, ohne weitere Zwischenschritte versenden.
Natürlich, das geht längst. Wird nur selten genutzt. Papyrus hat einen eigenen E-Mail-Versand und kann dort auch Attachements anfügen, die vorher z.B. aus einem Papyrus Dokument als PDF entstanden sind, alles vollautomatisch.
Dann schau Dir doch mal die BASE-Reportvorlage „Email.pap“ der Standard-Datenbank „Adressen“ im Bearbeitungsmodus an.
Beispiel:
Man fügt also in eine BASE-Reportvorlage ein Datenfeld ein. Bspw. so:
LET EMAIL_RECIPIENT = email_empfänger
Das macht nichts anderes, als den smtp-Server die E-Mail-Adresse:thumbsdown: mitzuteilen. Mehrere E-Mail-Adressen werden mittels Komma getrennt. Steht auch alles in der Hilfe.
ich hänge an demselben Problem fest, dachte ich hätte alles eingegeben, aber dann kommt beim Versuch, den Report per E-Mail zu schicken die von dir genannte Nachricht "Für die E-Mail ist kein Empfänger angegeben. Bitte …
Darf ich fragen, ob du das Problem inzwischen gelöst hast und mir vielleicht ein bißchen unter die Arme greifen kannst?
Ich versuche hier mal eine “schritt für schritt” anweisung zu basteln.
Datenbank öffnen
Menue “Datenbank/Feldeigenschaften” öffnen
“Neues Feld”
Bei “Name und Typ” → autom./Standard-Feld auf “email” stellen
Namen vergeben (zBsp. “emailempfänger”)
Bei “Werte” kannst du optional vordefinierte email adressen eingeben, einfach pro Zeile eine Adresse oder, fals gewünscht, durch koms getrennt mehrere empfänger zusammenfassen, falls immer wieder dieselben benutzt werden.
Dann das wichtigste: Bei “Rechenfeld” im Bereich “Voreinstellungs-Formel für einen neuen Datensatz:” die Formel:
LET EMAIL_RECIPIENT = email_empfänger
LET EMAIL_RECIPIENT_NAME = email_empfänger
eintragen.
Wenn unter “Prüfung” der Hacken bei “Feld automatisch zum Eingabeformular hinzufügen” gesetzt ist, wird mit “Tabelle Anpassen”, das benötigte Feld erzeugt. (Sonst von Hand ins Eingabeformular einpflegen.)
Im Eingabeformular die email adresse eingeben oder auswählen (siehe Punkt 6.)
In der Reportvorlage das Feld einfügen.
Im Dialog Report das Formular markieren
Bei “Ausgabe”-> “E-Mail(s) versenden” auswählen.
Im Dialog “E-Mail Einstellungen…” deine Angaben tätigen.
So sollte es gehen.
Hoffe diese Anleitung hilft weiter…
Bei mir klapt es eigentlich von Papyrus Seite her immer, nur der SMTP Server motzt manchmal.
Angenommen die DB-Tabelle hat die DB-Felder “Name” und “Vorname”,
dann müsste diese zweite Zeile so aussehen:
LET EMAIL_RECIPIENT_NAME = Vorname + ’ ’ + Name
Diese zweite Zeile macht, dass der Anwender nicht nur die im DB-Feld “email_empfänger” hinterlegte E-Mail-Adresse sieht, sondern auch noch deren Vornamen und Namen - ist einfach informativer und ist häufig so anzutreffen. Man kann aber auch diese zweite Zeile einfach weglassen.
Des Weiteren empfiehlt es sich die “Let-Zeilen” in die Base-Vorlage als (1) Datenfeld unterzubringen und nicht im Rechenfeld. Dort würde ich es wieder rausnehmen!
Dann die Base-Vorlage zum Bearbeiten öffnen.
Dazu doppelt auf das für meine Begriffe überflüssige Datenfeld “emailempfänger” klicken und im Dialog rechts im Formeleditor die (korrigierten) Let-Zeilen einfügen.
Abschließend auf “Ändern” klicken.
Ich kann es jetzt selbst nicht prüfen, weil mein Provider besondere Anforderungen an den SMTP-Server (TLSV1 / verschlüsselt) stellt. Base unterstützt das zurzeit nicht. Das hat aber nichts mit der obigen Fehlermeldung zu tun. Außerdem würde Base in so einem Fall sicher eine entsprechende und weiterführende Meldung ausgeben.
danke für die Hinweise. Mit den empfohlenen Änderungen bin ich jetzt offenbar einen Schritt weiter: Erst mal erscheint ein horizontaler blauer Balken. Nach einiger Zeit kommt dann die Fehlermeldung
"Fehler beim Abliefern der Mail an <leerer Empfänger> an den SMTP-Server smtp.strato.de
SMTP-Fehler Nr.1".
In dem Datensatz habe ich im Feld ‘enailempfänger’ meine eigene E-Mail-Adresse gespeichert. Ich habe noch versucht, im Rechenfeld im Report statt des Datenfeldnamens ‘emailempfänger’ direkt die gewünschte E-Mail-Adresse (in Anführungszeichen) einzugeben, aber mit demselben Resultat.
Das steht in Gesendete_Mails.log:
“bng_mail_Schadensmeldung”
Versandt von Papyrus Base 8.04 (http://www.papyrus.de) am 26.05.2016 00:24:07
Report-Datei “/Users/henrich/Desktop/Endoskopreparaturen/Reports/bng_mail_Schadensmeldung.pap” für Auswahl
“bng_mail_Schadensmeldung”
Versandt von Papyrus Base 8.04 (http://www.papyrus.de) am 26.05.2016 00:32:37
Report-Datei “/Users/henrich/Desktop/Endoskopreparaturen/Reports/bng_mail_Schadensmeldung.pap” für Auswahl
und in smtp.log:
“bng_mail_Schadensmeldung”
Versandt von Papyrus Base 8.04 (http://www.papyrus.de) am 26.05.2016 00:24:07
Report-Datei “/Users/henrich/Desktop/Endoskopreparaturen/Reports/bng_mail_Schadensmeldung.pap” für Auswahl
QUIT
“bng_mail_Schadensmeldung”
Versandt von Papyrus Base 8.04 (http://www.papyrus.de) am 26.05.2016 00:32:37
Report-Datei “/Users/henrich/Desktop/Endoskopreparaturen/Reports/bng_mail_Schadensmeldung.pap” für Auswahl
Schon mal vielen Dank für die Hilfe. Ich bin jetzt ein paar Tage unterwegs - nur für den Fall, daß jemandem dazu etwas einfällt und ich nicht gleich reagiere
Sind die Einstellungen im Report Dialog “Email Einstellungen” korrekt und vollständig?
Wurde vor dem Ausführen des Reports darauf geachtet auch wirklich nur den Datensatz für das Senden zu selektieren, bei dem die E-Mai-Adresse im DB-Feld “email_empfänger” eingetragen ist.
Ist die Empfänger-E-Mail-Adresse auch wirklich korrekt?
Befindet sich im DB-Feld “email_empfänger” auch wirklich nur die nackige E-Mail-Adresse (kein Leerzeichen oder andere Zeichen, die da nicht hingehören)?
Lass auch mal die zweite LET-Zeile mit den zusätzlichen Infos für Vorname und Name weg, um einzugrenzen.
Das muss klappen. Die R.O.M. logicware GmbH sendet doch fleißig auch damit.
ich habe die von dir aufgeführten Punkte , 2 und 4 überprüft und gemäß 5 die zweite LET… Zeile weggelassen.
Jetzt bekomme ich sofort die Fehlermeldung:
[SPOILER]Die Authentifizierung wurde vom SMTP-Server smtp.web.de abgelehnt. Sind der
Login-Name … und das Passwort korrekt?
AUTH PLAIN wurde erfolglos versucht
AUTH LOGIN wurde erfolglos versucht
AUTH LOGIN-Anforderung wurde abgelehnt
SMTP-Fehler Nr. 530:
530 Must issue a STARTTLS command first[/SPOILER]
Das Gleiche kam auch beim smtp-Server von Strato, bei dem ich auch einen Account habe. Bei beiden ist unter Sicherheit STARTTSL bzw. SSL gefordert. Das kann ich aber in den E-Mail-Einstellungen nicht eingeben. Ob es vielleicht daran liegt?
Na, das sieht ja dann gut aus. Funktionieren würde es …
Nun stellt sich dir (und mir) die geänderte Sicherheitseinstellung (-> Initiative “E-Mail Made in Germany”) bei den großen Providern in den Weg. Papyrus unterstützt das Protokoll STARTTLS (TLSV1) nicht. Die Mail-Server von z. B. Web.de oder auch T-Online u.a. wehren ab.
Ja, sichere Verbindung würde ich auch unterstützen.
Wenn Du vor hast die Datenbank auch anderen Kollegen zur Verfügung zu stellen, dann würde ich in der Zwischenzeit noch ein paar Dialoge einbauen. Denn, wenn eine E-Mail versendet (der Report ausgeführt) wurde, ist sie weg.
Also könntest Du bspw. noch einen vorgelagerten Dialog erstellen. Etwa so:
Soll das Protokoll wirklich an
,
gesendet werden?
“Senden” / “Abbrechen”
Auch würde ich noch die Variable EMAIL_BCC einführen.
Damit kann man sich die versendete E-Mail selbst zusenden - ohne das es der / die Empfänger sehen …
Alles was hierzu erforderlich ist steht in der Hilfe. Insbesondere:
MESSAGEBOX(Icon, Text, Button(s))
REPORT(Reportpfad)
ABORT(Fehlertext)
Es ist natürlich auch deutlich mehr machbar.
Bspw. könnte ein Report REPORT(Reportpfad)angestoßen werden, der bei Klick auf “Senden” automatisch den Zeitpunkt des Sendens in ein DB-Feld “Sendezeitpunkt” der betreffenden Datenbank einträgt. Auf diese Weise kann nebenbei auch dokumentiert werden, dass ggfls. mehrfach gesendet wurde …
Danke für die Anregungen, die mir natürlich den Mund wässrig machen.
Aber solange ich gar keine Verbindung hinkriege, geschweige denn eine sichere, muß ich mir darüber wohl keine Gedanken machen. Oder gibt es doch eine Möglichkeit, StartTLS auszuschalten, um überhaupt eine Verbindung herzustellen?
Da müsste es erst evtl. eine entsprechende Auswahlmöglichkeit (“Sichere Verbindung” - die “Methode”, andere “Unsichere Verbindung”) im Dialog “E-Mail Einstellungen” geben. Je nachdem, bei welchem Provider man ist, könnte dann der Anwender im Dialog die jeweilig benötigte Einstellung individuell vornehmen. Der Dialog unterstützt Authentifizierung am Server (mit "Unsicherer Verbindung).
Wie dem zurzeit auch sei.
Du könntest halt in der DB-Beschreibung darauf hinweisen, dass Papyrus BASE zurzeit keine sichere End-zu-End-Verbindung unterstützt. Du hilfst deinen Kollegen, indem du in der Beschreibung auf ein - zwei Provider hinweist, die (optional) noch “unsichere Verbindung” anbieten.
Du gibst eine (alternative) BASE Report-Vorlage mit.
Die speichert mit der Funktion SAVE() den DB-Report und ruft dann mit der Funktion CALL() ein E-Mail-Programm auf. Der Anwender kann nun die Reportdatei mit dem E-Mail-Programm versenden. Ich finde das hat auch seine Berechtigung, zumal man dann den E-Mail-Verkehr dann dort hat, wo er hingehört. Nämlich im E-Mail-Programm.
GMX, web.de und Telekom haben ja fest auf StartTLS umgestellt. Ich habe noch Yahoo, Freenet und ok.de ausprobiert (da kann man zwischen StartTLS und SSL wählen), funktioniert aber nicht. R.O.M. logicware benutzt vermutlich O2, das funktioniert ja offenbar. Aber dafür habe ich keinen Account und einen freien Zugang zum Ausprobieren gibt es nicht.
Ich werfe jetzt das Handtuch und setze meine Hoffnung darauf, daß sich möglichst viele Papyrus-Nutzer die Anpassung des E-Mail-Zugangs wünschen. Dir noch mal vielen Dank für die geduldige und kundige Unterstützung!
Ich meine, das hat auch etwas mit Datensicherheit zu tun. Sowohl für Dich als auch für mich ist der ansonsten gut funktionierende E-Mail-Versand über Papyrus BASE leider nicht mehr möglich.* Sicherlich steht es bereits auf der Aufgabenliste.*