Hallo Reinhard, und alle die es noch interessiert.
Nach langem Ausprobieren bin ich zu dem Schluss gekommen,
dass die beste Methode, um eine Mail(mit Anhang) per Makro zu versenden ,
ein Kommandozeilen- basierter E-mail-Client ist.
Zwei solcher E-mail-Clienten habe ich ausprobiert, und kann beide sehr
empfehlen.
sie brauchen beide keine Installation, und sind recht handlich.
1. blat http://www.blat.net <http://www.blat.net/>
-Nur für Windows:
+ keine Installation notwendig
+ Open Source
+ in c++ geschrieben und sehr klein(120 Kb)
+ sehr viele nützliche Einstellungen und Optionen
+smtp
+pop3
+nntp
+imap
+ sehr gute Dokumentation (Englisch)
2. sendEmail http://caspian.dotconf.net/menu/Software/SendEmail/
+Windows und Linux
+in den meisten Linux Distributionen über die Paketquellen erhältlich,
Läuft aber auch ohne Installation
+ Open Source
- in perl geschrieben und verhältnismäßig groß(1,5MB)(mehr als 10 mal so
groß wie blat)
+/- Weniger Optionen als blat (für Anfänger leichter, dafür weniger
möglichkeiten für Fortgeschrittene)
+smtp
-kein pop3 ,nntp und imap
+ sehr gute Dokumentation (Englisch)
Im Beispielcode (Siehe unten) Exportiere ich eine Mail,
mit je 2 Anhänge: Das aktuelle Writer-Dokument und das Dokument als PDF.
Getestet habe ich mit web.de und gmx.net (googlemail.com bekomme ich
nicht hin)
die Mail-Adresse, Passwörter und Pfade müssen natürlich noch angepasst
werden.
Gruß Frieder
Beispielcode um "blat" zu benutzen: nur Windows
'===============================================================
Sub eMail_blat
GlobalScope.BasicLibraries.LoadLibrary( "Tools" )
Doc=ThisComponent
sUrl = ThisComponent.getURL()
Path = DirectoryNameoutofPath(sUrl, "/")
Pfad1 = ConvertFromUrl(Path)
sDir = Pfad1 & GetPathSeparator & "Test1.pdf"
sDir1 = converttourl(sDir)
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ExportFormFields" 'just show the contents of the
Form.Fields
args1(0).Value= True
args1(1).Name = "Printing" ' you don't need that.
args1(1).Value= 0
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "FilterName"
args2(0).Value = "writer_pdf_Export"
args2(1).Name = "FilterData"
args2(1).Value = args1
' args2(2).Name="OutputStream"
'args2(2).Value=oOutputStream
ThisComponent.storeToURL(sDir1,args2())
Shell("C:\Users\Username\Pfad_zu\blat276\full\blat.exe" & _
" - -to empfaen...@googlemail.com" & _
" -s ""Subject""" & _
" -body ""Hallo wie gehts?" & Chr(10) & "Text hier...""" & _
" -attach " & sDir & "," & ConvertFromUrl(sUrl) & _
" -server smtp.web.de" & _
" -f y...@web.de" & _
" -from y...@googlemail.com" & _
" -u y...@web.de -pw XXXXXX")
End Sub
'==================================================
'Und hier Beispielcode um "Sendmail" zu benutzen: Linux und Windows
Sub mail_SendEmail
GlobalScope.BasicLibraries.LoadLibrary( "Tools" )
Doc=ThisComponent
sUrl = ThisComponent.getURL()
Path = DirectoryNameoutofPath(sUrl, "/")
Pfad1 = ConvertFromUrl(Path)
sDir = Pfad1 & GetPathSeparator & "Test1.pdf"
sDir1 = converttourl(sDir)
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ExportFormFields" 'just show the contents of the
Form.Fields
args1(0).Value= True
args1(1).Name = "Printing" ' you don't need that.
args1(1).Value= 0
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "FilterName"
args2(0).Value = "writer_pdf_Export"
args2(1).Name = "FilterData"
args2(1).Value = args1
' args2(2).Name="OutputStream"
'args2(2).Value=oOutputStream
ThisComponent.storeToURL(sDir1,args2())
'unter Windows muss der Pfad angepasst weden
Shell("sendEmail" & _
" -f y...@web.de" & _
" -t empfaen...@gmx.de" &_
" -o reply-to= y...@googlemail.com" &_
" -u ""Subject"" " & _
" -m ""Hallo wie gehts?" & Chr(10) & "sendEmail Text""" &_
" -a " & sDir &" -a " & ConvertFromUrl(sUrl) & _
" -s smtp.web.de" & _
" -xu y...@web.de -xp XXXXXXXXX"
end sub
--
Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org
Probleme? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert