Seite 1 von 1

Dokument per Email verschicken

Verfasst: Fr, 11.12.2009 13:31
von Korny1986
Hallo an Alle!

Habe folgendes Problem:
Ich will ein Dokument per Email versenden und die Email automatisch generieren und Abschicken. Habe auch schon etwas Code zusammengetragen, aber der Funktioniert nicht ganz so wie ich mir das vorgestellt habe.

Code: Alles auswählen

Sub EMail()

	Dim sEmail as String
	Dim sBetreff as String
	Dim sName as String
	Dim oMailer as Object
	Dim oMailClient as Object
	Dim oMessage as Object
	Dim aAttach(0)
	
	sEmail = "christoph.prohaska@lst.at"
	sBetreff = "NLL-Sitzung"
	sName = "Prohaska"
	
	oMailer = createUnoService( "com.sun.star.system.SimpleSystemMail" )
	oMailClient = oMailer.querySimpleMailClient()
	oMessage = oMailClient.createSimpleMailMessage()
	
	oMessage.setRecipient( sEmail )
	oMessage.setSubject( sBetreff )
	aAttach(0) = CStr("file:///E:/Test/" & sBetreff & " " & sName & ".odt" )
	oMessage.setAttachment( aAttach() )
	
	oMailClient.sendSimpleMailMessage( oMessage, 0 )

End Sub
Jetzt ist Folgendes, der Empfänger und der Betreff funktionieren einwandfrei. Aus irgendeinem Grund funktioniert aber das Attachment überhaupt nicht und ich bräuchte auch irgenwie die Möglichkeit, den Text in der Mail zu setzen und die Mail dann automatisch abzuschicken.

Falls es wichtig ist ich verwende "Mozilla Thunderbird"

Wäre toll wenn mir jemand bei meinem Problem helfen könnte

Vielen Dank im Voraus

MFG
Korny

Re: Dokument per Email verschicken

Verfasst: Fr, 11.12.2009 14:58
von ykcim
Die Methode heißt: setAttachement! Beachte das "e" vor dem "m". :D

mfg
Michael

Re: Dokument per Email verschicken

Verfasst: Mo, 14.12.2009 10:20
von Korny1986
1.) Danke für den Hinweis Michael, funktioniert jetzt!

2.) Einen Punkt habe ich auch gefunden, direktes versenden funktioniert wenn man bei

Code: Alles auswählen

oMailClient.sendSimpleMailMessage( oMessage, 0 )
statt der 0 eine 1 eingibt.

bleibt 3.) Wie kann ich meiner E-Mail einen Text geben?

Danke für eure Mithilfe

MFG

Re: Dokument per Email verschicken

Verfasst: Mo, 14.12.2009 13:20
von Korny1986
Hätte eine Möglichkeit gefunden wie fast alles Funktioniert, jedoch ist hier das einzige Manko, dass ich nicht weiß ob und wie, ich die Mail automatisch verschicken kann. Vielleicht weiß ja einer von euch mehr:

Code: Alles auswählen

Sub Mail

	Dim sEmail as String
	Dim sBetreff as String
	Dim sName as String
	Dim sAnrede as String
	Dim sText as String
	Dim uAttach as String
	
	sEmail = "christoph.prohaska@lst.at"
	sBetreff = "NLL-Sitzung"
	sAnrede = "geehrter Herr"
	sName = "Prohaska"
	sText = "Sehr " & sAnrede & " " & sName & "!<br><br>..."
	sDatei = ConvertToURL ("E:\Test\" & sBetreff & " " & sName & ".odt")
	

	shell("C:\thunderbird\thunderbird.exe", 3, "-Compose to=" & sEmail & ",subject=" & sBetreff & ",body=" & sText & ",attachment=" & sDatei)

End Sub

Re: Dokument per Email verschicken

Verfasst: Di, 15.12.2009 20:54
von famo
Unter Extras -> Optionen -> Writer - Serienbrief-E-mail kann man Daten wie SMTP Server, Login, etc. eintragen kann, d.h. du kannst Emails auch direkt mit OOo abschicken, also ohne Thunderbird.

Und dazu gibt es auch eine Extension die (vermutlich(?)) diese Funktion für ein automatisches (ein-klick) "email backup" nutzt:
http://extensions.services.openoffice.o ... ritertools
evtl. kannst du den Code daraus für deine Zwecke anpassen.

vg
famo

[gelöst] Re: Dokument per Email verschicken

Verfasst: Fr, 18.12.2009 09:21
von Korny1986
@famo
Danke für den Tipp, aber die Funktion verwendet auch die in meinem ersten Schritt besagten Aufruf, und wie ich bereits hier (http://www.oooforum.de/viewtopic.php?f= ... ece656459e) herausgefunden habe, kann man auf diese Weise keinen Body hinzufügen was für meine Zwecke aber unerlässlich ist.

Und das mit dem Server Funktioniert für meine Zwecke leider auch nicht ganz .

@ Peter (falls du noch mal reinschaust)
Danke auch dir für deine Hilfe! (auch wenn sie falsch gepostet wurde :D )


Habe mich mitlerweile damit abgefunden, dass ich meine Mail nicht automatisch verschicken kann, ist vielleicht auch garnicht allzu schlecht da ich so eventuelle Fehler abfangen kann. Nochmals Danke für eure HIlfe

MFG
Korny

Re: [gelöst] Re: Dokument per Email verschicken

Verfasst: Fr, 18.12.2009 12:29
von peterschleif
Hallo Korny.
Korny1986 hat geschrieben:Habe mich mitlerweile damit abgefunden, dass ich meine Mail nicht automatisch verschicken kann [...]
Ich kann nur nochmal empfehlen, es über PHP zu machen. Damit geht es definitiv vollautomatisch – inklusive Body, Attachments, Reply-To, optionalem HTML-Body, etc. Funktioniert unabhängig von Mail-Programmen wie Thunderbird, Outlook, etc. PHP muss nicht installiert werden und Du brauchst auch keine PHP-Kenntnisse. Nur ein Mail-Konto bei einem Provider der Mail-Versand via SMTP erlaubt – was inzwischen ja selbst die meisten Freemailer tun.

Falls Interesse besteht, kann ich gerne mal eine kurze Anleitung verfassen. Bin ohnehin gerade dabei, eine Basic-Prozedur zu schreiben, die alle notwendigen Angaben entgegen nimmt, aufbereitet, an PHP weiterreicht und somit die PHP-Zugriffe vollständig kapselt. Da ich aber erst seit knapp zwei Wochen in OOo programmiere, dauert das etwas.

Peter

Re: Dokument per Email verschicken

Verfasst: So, 11.05.2014 00:16
von WSO
Hallo Peter,
will eine recht mächrige Access-Anwendung mit ausgefeilter Outlook-Inegration mittel oO nach Linux portieren.
Bin noch recht neu in oO, komme aber langsam rein.
Das Thema Maillings via PHP interessiert mich sehr.
Hast du dazu etwas weitergehende infos, Beispiele, als ich hier im Forum finden konnte.
Würde mich freuen und sehr helfen.
Gruss,
Wolfram