Hallo, seit langen hab ich mich mal wieder mit Autoit beschäftigt.
Es ging darum eine E_Mail zu erzeugen wo folgendes vorgegeben ist.
- Empfänger
- Subject
- Mailtext
- Anhang, Attachment
Das Problem war wohl das Attachment.
Mit suchen habe ich da nichts gefunden, aber durch tüfteln.
Vielleicht kann es ja jemand brauchen
[autoit]
#include <INet.au3>
;Hier kommt die Registry Abfrage nach dem Schlüssel den HeiWoMa entdeckt hat. Gibt es den Schlüssel nicht ($Outlookexist =""), dann ist auch kein ;Outlook auf dem System installiert.
$Outlookexist = RegRead("HKEY_CLASSES_ROOT\msgfile\shell\open\command", "command")
;Hier sieht man das die Variabe leer zurückgekommen ist, also kein Outlook installiert.
;E-Mail wird über den Standard E-Mail client z.B.OE versendet.
If $Outlookexist = "" Then
$address = "name@domain.com"
$subject = "Aktueller Betreff"
$Body = "Aktueller Mailtext"
_INetMail($address, $subject, $Body)
;Sollte der Schlüssel exisieren und nicht leer zurückkommen, tritt die Funktion CreateMailItem in Kraft, die die e-mail in Outlook öffnet.
Else
CreateMailItem()
EndIf
Func CreateMailItem()
Local $olMailItem = 0
Local $olFormatRichText = 3
Local $olImportanceNormal = 1
$oOApp = ObjCreate("Outlook.Application")
$oOMail = $oOApp.CreateItem($olMailItem)
With $oOMail
.To = ("name@domain.com")
.Subject = "Aktueller Betreff"
.Body = "Aktueller Mailtext"
;.BodyFormat = $olFormatRichText ;Diese Funktion geht ab Outlook 2003, auskommentiert für die Outlook 2000 Kompabilität
.Attachments.Add ("Pfadangabe")
.Importance = $olImportanceNormal
.Display
; .Send ;Die Send Funktion ist wegen den Outlook Sicherheitsrichtlinien ausgeschaltet.
EndWith
EndFunc