SendMail mit Outlook / Exchange
SendMail mit Outlook / Exchange
Hallo,
ich würde gerne SendMail über Outlook bzw. Exchange Server benutzen.
Geht das überhaupt ?
Danke für Hilfe.
ich würde gerne SendMail über Outlook bzw. Exchange Server benutzen.
Geht das überhaupt ?
Danke für Hilfe.
Re: SendMail mit Outlook / Exchange
Hallo,
Du kannst auf Outlook über das COM Interface zugreifen. Dazu benutze ich die PureDispHelper extension für PureBasic und dann folgenden Code. Du musst den sicher noch für deine Zwecke anpassen...
Grüße,
Volker
Du kannst auf Outlook über das COM Interface zugreifen. Dazu benutze ich die PureDispHelper extension für PureBasic und dann folgenden Code. Du musst den sicher noch für deine Zwecke anpassen...
Code: Alles auswählen
; generates a new mail in outlook. Multiple attachments in Attachments.s must be devided using pipe (|) char.
Procedure.b CreateOutlookMailStandard(Subject.s, Recipient.s, MessageBody.s, Attachments.s)
Protected olApp.l, olMsg.l
Protected FileNo.l, FileList.s, File.s
dhToggleExceptions(#False) ; dont display dispatcher errors
olApp.l = dhCreateObject("Outlook.Application") ; create new Outlook instance
If olApp.l
olMsg.l = 0 ; init
dhGetValue("%o", @olMsg.l, olApp.l, ".CreateItem(%d)", 0) ; create a new mailitem
; add header informations
dhPutValue(olMsg.l, ".Subject = %T", @Subject.s)
dhPutValue(olMsg.l, ".To = %T", @Recipient.s)
dhPutValue(olMsg.l, ".Body = %T", @MessageBody.s)
; add all attachements (divided using pipe "|" )
FileNo.l = 1
FileList.s = ReplaceString(FileList.s, "||", "|") ; ignore empty entry's
File.s = StringField(FileList.s, FileNo.l, "|")
While File.s <> ""
dhCallMethod(olMsg.l, ".Attachments.Add(%s)", @File.s)
FileNo.l = FileNo.l + 1
File.s = StringField(FileList.s, FileNo.l, "|")
Wend
; display and send message
dhCallMethod(olMsg.l, ".Display")
dhCallMethod(olMsg, ".Send")
dhCallMethod(olApp, ".Quit")
; release outlook objects
dhReleaseObject(olMsg.l) : olMsg.l = 0
dhReleaseObject(olApp.l) : olApp.l = 0
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
EndProcedure
Volker
Re: SendMail mit Outlook / Exchange
Hallo Volker,
danke für schnelle Antwort.
Was ist denn PureDispHelper ?
Danke
danke für schnelle Antwort.
Was ist denn PureDispHelper ?
Danke
Re: SendMail mit Outlook / Exchange
Hallo,
Normalerweise bietet PB keine direkte (komfortable) Art um auf COM/ActiveX Schnittstellen zuzugreifen. Aus diesem Grund gibt es den PureDispHelper. Er erlaubt es, die COM Schnittstellen von Windows und anderen Anwendungen (zB MS Office oder auch OpenOffice, AutoCad etc.) recht einfach aufzurufen. Du erkennst diese Methoden am dh am Anfang.
Wenn Du hier im Forum (oder im englischen Forum) danach suchst, findest Du viele Beispiele dazu.
Der offizielle PureDispHelper Thread ist hier: http://www.purebasic.fr/english/viewtopic.php?p=191224 Da kannst Du es auch herunterladen.
Grüße,
Volker
PS. Es gibt noch einen anderen COM Wrapper COMate. Der kann das auch, aber den hab ich noch nie benutzt.
Normalerweise bietet PB keine direkte (komfortable) Art um auf COM/ActiveX Schnittstellen zuzugreifen. Aus diesem Grund gibt es den PureDispHelper. Er erlaubt es, die COM Schnittstellen von Windows und anderen Anwendungen (zB MS Office oder auch OpenOffice, AutoCad etc.) recht einfach aufzurufen. Du erkennst diese Methoden am dh am Anfang.
Wenn Du hier im Forum (oder im englischen Forum) danach suchst, findest Du viele Beispiele dazu.
Der offizielle PureDispHelper Thread ist hier: http://www.purebasic.fr/english/viewtopic.php?p=191224 Da kannst Du es auch herunterladen.
Grüße,
Volker
PS. Es gibt noch einen anderen COM Wrapper COMate. Der kann das auch, aber den hab ich noch nie benutzt.
Re: SendMail mit Outlook / Exchange
ok, dann werd ich mich da mal rantasten. Danke.
Re: SendMail mit Outlook / Exchange
Hier die COMate-Version:
Grüße ... Kiffi
Code: Alles auswählen
IncludePath #PB_Compiler_Home + "srod\comateplus\" ; Pfad anpassen!
XIncludeFile "comateplus.pbi"
Define oOApp.COMateObject
Define oOMail.COMateObject
oOApp = Comate_CreateObject("Outlook.Application")
If oOApp
oOMail = oOApp\GetObjectProperty("CreateItem(0)")
If oOMail
oOMail\SetProperty("To='irgendeine@mailadresse.de'")
oOMail\SetProperty("Subject='Hello'")
oOMail\SetProperty("Body='World'")
oOMail\Invoke("Send")
oOMail\Release()
EndIf
oOApp\Release()
EndIf
a²+b²=mc²
Re: SendMail mit Outlook / Exchange
Hallo Nafets,
ich benutze PureDispHelper für Excel.Allerdings klappt das nur noch mit der Version 4.02. Bei den höheren Versionen klappt das nicht mehr.
Das als Info wenn es bei dir womöglich nicht klappen sollte.
Wie das mit Outlook / Exchange ist weiss ich allerdings nicht.
ich benutze PureDispHelper für Excel.Allerdings klappt das nur noch mit der Version 4.02. Bei den höheren Versionen klappt das nicht mehr.
Das als Info wenn es bei dir womöglich nicht klappen sollte.
Wie das mit Outlook / Exchange ist weiss ich allerdings nicht.
PB 4.02 (wegen Disphelper), 5.72 (Windows) (x64)
Re: SendMail mit Outlook / Exchange
Hallo zusammen,
obwohl es ein bißchen gedauert hat und ich noch nicht wirklich alles verstehe, funktioniert
die Sache.
Vielen Dank an alle http://forums.purebasic.com/german/post ... 4fd8aacba8#
obwohl es ein bißchen gedauert hat und ich noch nicht wirklich alles verstehe, funktioniert
die Sache.
Vielen Dank an alle http://forums.purebasic.com/german/post ... 4fd8aacba8#
Re: SendMail mit Outlook / Exchange
PS: eigentlich sollte der da rein :

