Re [de-users] Mailversand per Makro mit Simple Mail Message

NACHTRAG: Ergänzt um Betriebssystem-Unabhängigkeit (Windows Linux)

Sub MailVersand

Dim mTo as String
Dim mSubject as String
Dim mCC() as String
Dim mBCC() as String
Dim mAttachement() as String
Dim mBody as String

Dim oMailAgent as Object
Dim oMailClient as Object
Dim oMailMessage as Object

mTo = "HansWernerHerold@t-online.de"
mSubject = " Test, Test, Test ..."
mCC = Array("OoOHWHOoO@t-online.de","HansWernerHerold@t-online.de")
mBCC = Array("OoOHWHOoO@t-online.de","HansWernerHerold@t-online.de")
mAttachement = Array(ConvertToUrl("E:\TMP\WRITER.odt"),ConvertToUrl("E:\TMP\CALC.ods"))
mBody = "hallo, hallo" & Chr(10) & "Und, tschüss" & Chr(10) & "PS:"

Select Case GetGUIType()
Case 1 ' Windows
oMailAgent = createUnoService("com.sun.star.system.SimpleSystemMail")
Case 4 ' Linux
oMailAgent = CreateUnoService("com.sun.star.system.SimpleCommandMail")
Case Else ' Betriebssysten unbekannt
MsgBox("Das Betriebssystem ist weder Windows noch Linux !")
End
End Select

oMailClient = oMailAgent.querySimpleMailClient()
oMailMessage = oMailClient.createSimpleMailMessage()

oMailMessage.setRecipient(mTo)
oMailMessage.setCcRecipient(mCC)
oMailMessage.setBccRecipient(mBCC)
oMailMessage.setSubject(mSubject)
oMailMessage.setAttachement(mAttachement)
oMailmessage.Body = mBody

oMailClient.sendSimpleMailMessage(oMailMessage,0)

End Sub

Hallo Hans-Werner,

Dein Code ergibt bei mir:

Hallo Robert,

ich habe eben das hier

Zeilenumrüche kann man im bodytext wie folgt realisieren.
Uebergabe_MailMessage = "Hallo zusammen" & "%2C%0D%0A" & "hier steht die zweite Zeile"
Wichtig: Auch ein Komma darf nicht mit übergeben werden, dafür steht das "%2C" ...

https://de.openoffice.info/viewtopic.php?f=18&t=74684

gefunden.

Im Makro könnte man das so realisieren:

mSubject = Replace( Replace(mSubject,",","%2C"), Chr(10),"%0D%0A")
mBody = Replace( Replace(mBody,",","%2C"), Chr(10),"%0D%0A")

und dann noch das:

Durch das Drücken der Eingabetaste wird beim Verfassen einer neuen Nachricht nun ein neuer Absatz begonnen. Ein Zeilenumbruch lässt sich jetzt durch Drücken der Umschalttaste+Eingabetaste einfügen. Dieses neue Verhalten kann im Tab Extras ➔ Einstellungen ➔ Verfassen ➔ Allgemein abgeschaltet werden.

https://www.thunderbird.net/en-US/thunderbird/45.0/releasenotes/

Vielleicht hilft Dir das weiter,
viele Grüße

Hans-Werner :-))

------ Originalnachricht ------

Hallo Hans-Werner,

mSubject = Replace( Replace(mSubject,",","%2C"), Chr(10),"%0D%0A")
mBody = Replace( Replace(mBody,",","%2C"), Chr(10),"%0D%0A")

dahinter steckt die andere Variante über die Shell. Bei der
SimpleSystemMail wird genau das dann als Text zurückgegeben. Ich erhalte
also keine Kommas oder Zeilenumbrüche.

Gruß

Robert

Hallo Robert,

ja, das stimmt. War in dem Thread etwas unübersichtlich.

Ich hab nochmals nachgeschaut und weiter oben gefunden:

"[...] Aber auch gleich hat sich bei der Shell-Lösung ein neues Problem aufgetan:
Ich bekomme im "body-text" Keine Zeilenumbrüche hin.

Während beim Mailclient das recht einfach geht...:
MailMessage.Body = "Hallo zusammen," & "<br />" & "<br />" & "hier kommt die Mail."

...funktioniert es bei der Shell-Version nicht.
Der Text wird bei der html Variante ab dem "<br />" abgeschnitten.
Auch mit chr(13) funktioniert es nicht...
Irgend eine Idee, wie man mehrzeiligen Mail-Text mit übergeben kann? [...]"

https://de.openoffice.info/viewtopic.php?f=18&t=74684

Könnte das eine Lösung sein ?

Grüße
Hans-Werner :-))

------ Originalnachricht ------

Hallo Hans-Werner,

in Bezug auf die Zeilenumbrüche bin ich weiter gekommen. Ein Blick in
die RFC 2882 hat geholfen.

  stFeld3 = Join(Split(stFeld3,CHR(13)),"")
  stFeld3 = Join(Split(stFeld3,CHR(10)),CHR(13)&CHR(10))

In meinem Fall war der Text mit Umbrüchen über CHR(10) geregelt
(Unix-typisch). Es muss aber die direkte Folge von CHR(13) und CHR(10)
sein - sonst klappt das nicht.

... und das mit dem Komma finde ich auch noch irgendwann. Zur Not tut's
auch das Semikolon.

Gruß

Robert

Hallo Robert,

... und das mit dem Komma finde ich auch noch irgendwann. Zur Not tut's auch das Semikolon.

ist es das hier <https://de.wikipedia.org/wiki/URL-Encoding#Relevante_ASCII-Zeichen_in_Prozentdarstellung>, d.h. Komma == |%2C?|

Hallo Michael, *,

ist es das hier
<https://de.wikipedia.org/wiki/URL-Encoding#Relevante_ASCII-Zeichen_in_Prozentdarstellung>,
d.h. Komma == |%2C?|

Das hatten wir schon ausprobiert - wird so als Text weiter gegeben, d.h.
es erscheint %2C statt eines Kommas. Der Text wird ja nicht über eine
URL an das Mailprogramm gesandt.

Und jetzt kommt es: CHR(44) ist zwar eigentlich genau das Gleiche wie
ein Komma - aber aus Sicht des Mailprogramms bei der Zeichenübergabe
nicht. Mit CHR(44) habe ich auch das Komma mit drin.

Ich habe das gleich wieder hoch geladen:
https://www.familiegrosskopf.de/robert/download/Beispiel_Mailaufruf.odb

Jetzt kann ich mich um die Beschreibung kümmern.

Vielen Dank für die Anregungen.

Gruß

Robert

Hallo Robert,

im Grunde war das

Zeilenumrüche kann man im bodytext wie folgt realisieren.
Uebergabe_MailMessage = "Hallo zusammen" & "%2C%0D%0A" & "hier steht die zweite Zeile"
Wichtig: Auch ein Komma darf nicht mit übergeben werden, dafür steht das "%2C" ...
https://de.openoffice.info/viewtopic.php?f=18&t=74684

in meinen Beitrag ( https://listarchives.libreoffice.org/de/users/msg23587.html ) dann doch schon die Lösung:

%0D = Chr(13) = CR
%0A = Chr(10) = LF
%2C = Chr(44) = ,

Ich habe mal eben Thunderbird installiert und das Makro ausprobiert:

Mit "Thunderbird @ Windows 10 Home" hat alles genauso korrekt funktioniert wie mit "emClient @Windows 10 Home", trotz dem LINUX-spezifischem Zeilenumbruch Chr(10).

Das ist schon etwas merkwürdig, dass "Thunderbird @ Linux" den Windows-Zeilenumbruch "Chr(13) Chr(10)" benötigt und "Thunderbird @ Windows" mit dem Linux-Zeilenumbruch Chr(10) funktioniert ( https://de.wikipedia.org/wiki/Zeilenumbruch ) ...

Na denn,
gutes Gelingen mit der Beschreibung,

Grüße
Hans-Werner :-))

------ Originalnachricht ------

Hallo Hans-Werner,

Das ist schon etwas merkwürdig, dass "Thunderbird @ Linux" den
Windows-Zeilenumbruch "Chr(13) Chr(10)" benötigt und "Thunderbird @
Windows" mit dem Linux-Zeilenumbruch Chr(10) funktioniert (
https://de.wikipedia.org/wiki/Zeilenumbruch ) ...

Ich nehme an, dass unter Windows irgendwo das Betriebssystem mit
eingreift und aus den einfachen UNIX-Umbrüchen dann Windows-Umbrüche
macht. Denn der Standard ist eben so formuliert, dass nur die
Windows-Umbrüche mit beiden Steuerzeichen nach RFC 2882 korrekt sind.
Wenn das jetzt unter beiden Systemen so funktioniert, dann ist es ja gut.

Gruß

Robert

Hallo Robert,

bezüglich des RFC 2882 ( https://www.rfc-editor.org/rfc/rfc2882.txt ) mit Thematik "Extended RADIUS Practices" ('Remote Authentication Dial-In User Service) stehe ich im Moment etwas "auf dem Schlauch" dort die Stelle zu finden, wo Du den Hinweis gefunden hast, das nur "Windows-Umbrüche mit beiden Steuerzeichen" korrekt sind. Die Absatz-Nummer - die RFCs sind ja so schön ordentlich durchnummeriert - würde mir schon reichen ...

Ich danke Dir im Voraus,
viele Grüße

Hans-Werner :-))

------ Originalnachricht ------

Hallo Hans-Werner,

ist der Abschnitt 2.1:

Hallo Robert,

ich danke Dir :-)) ...

Nur steht in der "RFC 2882 - Network Access Servers Requirements: Extended RADIUS Practices" ( https://www.rfc-editor.org/rfc/rfc2882.txt ) unter 2.1 etwas anderes:

2.1. Attribute conflicts

    In practice attributes 92-255 are in use by a vendor. And another
    vendor also use attributes in the 90-104 range and conflicts with
    this usage.

    To deal with these issues, server vendors have added vendor specific
    parameters to their client database files. The administrator has to
    indicate the vendor type of NAS along with the client IP address and
    secret, so that the server can disambiguate the attribute usage.

    One server has a single large vendors file to describe the mapping
    all attributes to an internal format that retains the vendor id.
    Another server implementation uses multiple dictionaries, each
    indexed to a NAS and Vendor Model definition list.

Kann es sein, dass Du Dich mit der RFC-Nummer (2882) vertan (Tippfehler Zahlendreher) hast ?

"[...] Denn der Standard ist eben so formuliert, dass nur die Windows-Umbrüche mit beiden Steuerzeichen nach RFC 2882 korrekt sind. Wenn das jetzt unter beiden Systemen so funktioniert, dann ist es ja gut. [...]" ( https://listarchives.libreoffice.org/de/users/msg23597.html )

Ich habe jetzt mal eben noch den RFC-Editor bemüht und "Deine RFC" gefunden. Es ist die "RFC 2822 - Internet Message Format" ( https://www.rfc-editor.org/rfc/rfc2822.txt ) und nicht die "RFC 2882" :open_mouth: ...

Über die Stichwortsuche ( Suche: Messages ) des RFC-Editors ( https://www.rfc-editor.org ) bin ich auf die "RFC 822 - STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES" ( https://www.rfc-editor.org/info/rfc822 ) gestoßen und dort erfährt man: " Obsoleted by: RFC 2822". Wenn man dann "RFC 2822" anklickt landet man endlich bei "RFC 2822 - Internet Message Format" ( https://www.rfc-editor.org/info/rfc2822 ) und findet auch unter "2.1. General Description" den von Dir übersandten Abschnitt.

Ich hatte mich schon gewundert, was Mailing (auf der Message-Ebene) mit RADIUS-Servern zu tun haben könnte.

Ich denke, es ist ist schon ganz gut diese "RFC 2822" "im Hinterkopf zu haben", wenn man mit BasicMakro "Mailing", in welcher Form auch immer, realisieren will und mal was "klemmt" ...

Nochmals Dank für Deine Bemühungen,
viele Grüße aus dem mehr oder weniger sonnigen Wittlich

Hans-Werner :-))

------ Originalnachricht ------

Hallo Hans-Werner,

Kann es sein, dass Du Dich mit der RFC-Nummer (2882) vertan (Tippfehler
Zahlendreher) hast ?

"[...] Denn der Standard ist eben so formuliert, dass nur die
Windows-Umbrüche mit beiden Steuerzeichen nach RFC 2882 korrekt sind.
Wenn das jetzt unter beiden Systemen so funktioniert, dann ist es ja
gut. [...]" ( https://listarchives.libreoffice.org/de/users/msg23597.html )

Ich habe jetzt mal eben noch den RFC-Editor bemüht und "Deine RFC"
gefunden. Es ist die "RFC 2822 - Internet Message Format" (
https://www.rfc-editor.org/rfc/rfc2822.txt ) und nicht die "RFC 2882"
:open_mouth: ...

Ja, passt. War ein Zahlendreher. Meine erste Quelle hier war das
Postfix-Buch von Peer Heinlein. Von dort aus habe ich mich da rein
gehangelt.

Gruß

Robert

Genau genommen wurde der RFC 2822 vom RFC 5322 abgelöst, und das schon
2008; aber diesbezüglich hat sich da eh nix geändert.

Wolfgang, nur Erbsen zählend

Hallo Wolfgang,

und ein Update gibt's da auch schon zu:

RFC 6854 ( https://www.rfc-editor.org/info/rfc6854 )
Update to Internet Message Format to Allow Group Syntax in the "From:" and "Sender:" Header Fields, March 2013
Status: PROPOSED STANDARD
Updates: RFC 5322

Mit erbsig-humorvollen Grüßen
Hans-Werner ;-))

------ Originalnachricht ------

Hier noch eine letzte, aber wichtige Notiz:

Das Ganze hatte nichts mit den Ersetzungen im Makro zu tun. Ich hatte
von Michael die Meldung, dass es auch damit nicht klappte und dann
weiter an einem anderen Rechner probiert bis ich darauf kam, was ich
neben der Ersetzung von Zeichen noch so veranstaltet habe: Ich habe das
Mailprogramm unter
Extras → Optionen → Internet → E-Mail
eingebunden. Nehme ich das wieder raus, dann habe ich sofort das
fehlerhafte Verhalten wieder da. Ist das Programm dort angegeben, so
wird anscheinend der Inhalt entsprechend gefiltert weiter gegeben, so
dass Kommas und Zeilenumbrüche kein Problem mehr darstellen.

Gruß

Robert

Hallo Robert,

das ist ja interessant.

Soweit ich das überschaue, arbeitest Du mit LINUX-Systemen. Richtig ?

Ich arbeite mit " LO 6.4.5.2 (x64) @ Windows 10 Home" und da gibt es

[Extras] > [Optionen] > [Internet] > [E-Mail]
überhaupt nicht, sondern nur
[Extras] > [Optionen] > [Internet] > [Proxy]
beziehungsweise
[Extras] > [Optionen] > [Internet] > [MediaWiki]

Grüße
Hans-Werner :-))

------ Originalnachricht ------

Hallo Hans-Werner,

Soweit ich das überschaue, arbeitest Du mit LINUX-Systemen. Richtig ?

Ja, schon seit 20 Jahren nur noch Linux.

Ich arbeite mit " LO 6.4.5.2 (x64) @ Windows 10 Home" und da gibt es

[Extras] > [Optionen] > [Internet] > [E-Mail]
überhaupt nicht, sondern nur
[Extras] > [Optionen] > [Internet] > [Proxy]
beziehungsweise
[Extras] > [Optionen] > [Internet] > [MediaWiki]

Vielleicht liest die Windows-Version aus den Windows-Einstellungen, das
Standardmailprogramm vorher aus und passt den Filter an. Bei Linux gibt
es ja nicht nur eine sondern viele unterschiedliche Benutzeroberflächen.
Ist vielleicht dort zu kompliziert. Aber dass es dort die Einstellung
gar nicht gibt wusste ich natürlich nicht.

Gruß

Robert