Seite 1 von 1
[gelöst] oMailClient.createSimpleMailMessage()
Verfasst: Sa, 02.12.2023 08:16
von Marko888
Hallo an alle,
das Erstellen von Emails per Makro funktioniert super.
oMailAgent = CreateUnoService("com.sun.star.system.SimpleCommandMail")
oMailClient = oMailAgent.querySimpleMailClient()
oMailMessage = oMailClient.createSimpleMailMessage()
oMailMessage.setRecipient(sEmail) 'Empfänger
oMailMessage.setSubject(sBetreff) 'Betreff
oMailMessage.setAttachement(array(converttourl(sSpeicherort & sDateiname))) 'Anhang / Speicherort
oMailMessage.Body = sMessage 'Text
oMailClient.sendSimpleMailMessage(oMailMessage, 0)
Meine Frage:
kann man die Versenderadresse bearbeiten?
Ich möchte verschiedene Emails an verschieden Abteilungen schicken von jeweils anderen Accounts. Momentan mache ich das so, das ich bei den erstellten Emails die Versenderadresse von Hand anpasse.
Re: oMailClient.createSimpleMailMessage()
Verfasst: Sa, 02.12.2023 10:16
von F3K Total
Moin,
ich habe es nicht ausprobiert, aber mit folgendem Code kann man die Einstellungen des Mailmergewizzards verändern.
Sprich das, was unter
Menü
Extras/Einstellungen/OpenOffice Writer/Serienbrief-E-Mail eingetragen ist.
Wenn du also den Mailserver vor dem Senden per Code änderst, müsste dein Anliegen umsetzbar sein.
Code: Alles auswählen
sub Update_MailServer
Dim aConfigProvider, oNode, args(0) As new com.sun.star.beans.PropertyValue
aConfigProvider = createUnoService("com.sun.star.configuration.ConfigurationProvider")
args(0).Name = "nodepath"
args(0).Value = "org.openoffice.Office.Writer/MailMergeWizard"
getMailServer = aConfigProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationUpdateAccess", args())
xray getMailServer
getMailServer.setPropertyValue("MailAddress","Hugo@WilliMist.de")
getMailServer.setPropertyValue("MailDisplayName","Hugo")
getMailServer.setPropertyValue("MailPassword","999999")
getMailServer.setPropertyValue("MailPort",777)
getMailServer.setPropertyValue("MailServer","smtp.YYYY.de")
getMailServer.setPropertyValue("MailUserName","Hugo@HugoSchrott.de")
getMailServer.commitChanges()
xray getMailServer
End sub
Mit der X-Ray Zeile kannst du alle Eigeschaften auslesen und ggf. noch verändern.

- MMS.png (92.96 KiB) 17664 mal betrachtet
Viel Erfolg und Bitte um Rückmeldung.
Gruß R
Re: oMailClient.createSimpleMailMessage()
Verfasst: Sa, 02.12.2023 17:03
von Marko888
sieht schon mal super aus, Danke schon mal!!!
Anmerkung, weil ich es vergessen habe zu erwähnen: ich brauche das für Libre Office Calc
Betriebssystem Linux MX, Emailprogramm: Mozilla Thunderbird
In Calc ist diese Einstellung nicht zu finden.
Habe das im Writer ausprobiert:
xray getMailServer
in dieser Zeile kommt die Fehlermeldung:
Basic-Laufzeitfehler
Prozedur Sub oder Function nicht definiert.
Re: oMailClient.createSimpleMailMessage()
Verfasst: So, 03.12.2023 00:54
von Hiker
Marko888 hat geschrieben: Sa, 02.12.2023 17:03
...
in dieser Zeile kommt die Fehlermeldung:
Basic-Laufzeitfehler
Prozedur Sub oder Function nicht definiert.
Hast Du xray installiert?
Wenn nicht: Schreib erstmal REM davor oder lösch die Zeile. Xray schickt nicht Deine Mail raus, sondern soll Dir beim analysieren helfen...
Re: oMailClient.createSimpleMailMessage()
Verfasst: So, 03.12.2023 08:43
von Marko888
xray ist nicht installiert. Habe die Zeile gelöscht.
in Writer werden die Änderungen in den Einstellungen übernommen (Extras/Einstellungen/OpenOffice Writer/Serienbrief-E-Mail).
Die Email wird aber trotzdem von dem ersten EmailAccount in Thunderbird erstellt.
In Calc kommt die Fehlermeldung bei Zeile:
getMailServer = aConfigProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationUpdateAccess", args())
Basic Laufzeitfehler
Variabel nicht definiert
Der Fehler ist weg wenn ich
Dim getMailServer
vorher eingebe
Änderungen bei der Email erstellen sind da aber auch nicht
Re: oMailClient.createSimpleMailMessage()
Verfasst: Mo, 04.12.2023 17:15
von F3K Total
Moin,
ich habe nochmal geforscht, vielleicht brauchst du nur eine zusätzliche Zeile?
Probier es mal aus.
Gruß R
Re: oMailClient.createSimpleMailMessage()
Verfasst: Mo, 04.12.2023 18:14
von Marko888
Guten Abend,
habs ausprobiert, ohne Erfolg
(origianator = Urheber)
Alle anderen Einträge unter
oMailMessage
geben auch keinen Hinweis auf eine Einstellmöglichkeit
Re: oMailClient.createSimpleMailMessage()
Verfasst: Do, 07.12.2023 07:55
von Hiker
Da ich schon seit langer Zeit ein macro nutze, das via Shell() Thunderbird aufruft, habe ich keine Erfahrung mit dem System innerhalb Open-/LibreOffice.
Via Kommandozeile sollte es via from: möglich sein - muss ich mal ausprobieren. Die frühere Möglichkeit via preselectId wird als obsolet bezeichnet.
https://kb.mozillazine.org/Command_line ... hunderbird
Re: oMailClient.createSimpleMailMessage()
Verfasst: Do, 07.12.2023 18:33
von Marko888
Danke, das funktioniert
Sub EmailErstellen
'
https://kb.mozillazine.org/Command_line ... hunderbird
sAbsender = "
Hallo.World@gmail.de"
sEmpfanger = "
HierIstDieWelt@gmail.com"
sDateiname = "Datei.pdf"
sSpeicherort = "file:///home/Max/MeineDateien/"
sBetreff = "Rechnung"
sMessage = "from='" & sAbsender & "'"
sMessage = sMessage & ",to='" & sEmpfanger & "'"
'sMessage = sMessage & ",cc='
britney@example.com'"
sMessage = sMessage & ",subject='" & sBetreff & "'"
'sMessage = sMessage & ",body='How about dinner tonight?'"
sMessage = sMessage & ",attachment='" & sSpeicherort & sDateiname & "'"
Shell("thunderbird -compose " & sMessage)
End Sub
Re: oMailClient.createSimpleMailMessage()
Verfasst: Fr, 08.12.2023 07:53
von Marko888
Zum Schluß nochmal ne Frage:
wie kann ich das hier jetzt als "gelöst" markieren?
Danke an alle für die Mühe und viel Erfolg an den Rest mit der Lösung
Re: oMailClient.createSimpleMailMessage()
Verfasst: Fr, 08.12.2023 10:24
von Mondblatt24
Marko888 hat geschrieben: Fr, 08.12.2023 07:53
wie kann ich das hier jetzt als "gelöst" markieren?
So gehtʼs
Re: [gelöst] oMailClient.createSimpleMailMessage()
Verfasst: Sa, 09.12.2023 08:41
von Marko888
vielen Dank an ALLE
mein Arbeitsleben ist wieder ein Stück leichter und einfacher geworden
