| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /* Input parameters */
- DEF INPUT PARAMETER cProfile AS CHAR NO-UNDO.
- DEF INPUT PARAMETER iPriority AS INT NO-UNDO.
- /* Low = 0; Normal = 1; High = 2 */
- DEF INPUT PARAMETER cSubject AS CHAR NO-UNDO.
- DEF INPUT PARAMETER cText AS CHAR NO-UNDO.
- DEF INPUT PARAMETER cTo AS CHAR NO-UNDO.
- DEF INPUT PARAMETER cFiles AS CHAR NO-UNDO.
- /* Variables */
- DEF VAR chSession AS COM-HANDLE NO-UNDO.
- DEF VAR chMessage AS COM-HANDLE NO-UNDO.
- DEF VAR chRecip AS COM-HANDLE NO-UNDO.
- DEF VAR chFiles AS COM-HANDLE NO-UNDO.
- DEF VAR iLoop AS INT NO-UNDO.
- DEF VAR fConnect AS LOG NO-UNDO.
- /* Connection */
- fConnect = FALSE.
- CREATE "MAPI.SESSION" chSession CONNECT NO-ERROR.
- IF VALID-HANDLE(chSession) THEN fConnect = TRUE.
- ELSE DO:
- CREATE "MAPI.SESSION" chSession NO-ERROR.
- IF NOT VALID-HANDLE(chSession) THEN DO:
- MESSAGE 'Kein Outlook installiert' VIEW-AS ALERT-BOX INFORMATION.
- RETURN NO-APPLY.
- END.
- END.
- chSession:Logon(cProfile).
- /* Message Creation */
- ASSIGN
- chMessage = chSession:OutBox:Messages:Add()
- chMessage:Subject = cSubject
- chMessage:Text = cText
- chMessage:importance = iPriority.
- /* Send To */
- DO iLoop = 1 TO NUM-ENTRIES(cTo):
- ASSIGN
- chRecip = chMessage:Recipients:Add()
- chRecip:Name = ENTRY(iLoop, cTo)
- chRecip:Type = 1.
- chRecip:Resolve.
- END.
- /* Attachments */
- DO iLoop = 1 TO NUM-ENTRIES(cFiles):
- ASSIGN
- chMessage:Text = chMessage:Text + CHR(10)
- chFiles = chMessage:Attachments:ADD()
- chFiles:name = ENTRY(iLoop, cFiles)
- chFiles:source = ENTRY(iLoop, cFiles).
- END.
- /* Send message */
- chMessage:Update(TRUE, TRUE).
- IF VALID-HANDLE(chMessage) THEN chMessage:Send(TRUE, TRUE).
- chSession:Logoff.
- /* Release Objects */
- RUN ReleaseObjects.
- /* ---------------------------------------------------------------- */
- PROCEDURE ReleaseObjects :
- RELEASE OBJECT chRecip NO-ERROR.
- RELEASE OBJECT chFiles NO-ERROR.
- IF VALID-HANDLE(chMessage) THEN RELEASE OBJECT chMessage NO-ERROR.
- IF NOT fConnect THEN RELEASE OBJECT chSession NO-ERROR.
- END PROCEDURE.
|