| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Procedure
- /*------------------------------------------------------------------------
- File :
- Purpose :
- Syntax :
- Description :
- Author(s) :
- Created :
- Notes :
- ----------------------------------------------------------------------*/
- /* This .W file was created with the Progress AppBuilder. */
- /*----------------------------------------------------------------------*/
- /* *************************** Definitions ************************** */
- USING System.Net.*.
- USING OpenEdge.Core.*.
- USING System.Net.Mail.*.
- { super/funktionen.i }
- { incl/ttsendmail.i }
- { incl/properties.i }
- DEFINE VARIABLE cMessage AS CHARACTER NO-UNDO.
- DEFINE VARIABLE lRetVal AS LOG NO-UNDO.
- DEFINE VARIABLE cTO AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cCC AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iAblauf AS INTEGER NO-UNDO.
- DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cWert AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE iAnzMail AS INTEGER NO-UNDO.
- DEFINE VARIABLE cSendMailProg AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cProgramm AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cLogFile AS CHARACTER NO-UNDO.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE Procedure
- &Scoped-define DB-AWARE no
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: Procedure
- Allow:
- Frames: 0
- Add Fields to: Neither
- Other Settings: CODE-ONLY COMPILE
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- /* ************************* Create Window ************************** */
- &ANALYZE-SUSPEND _CREATE-WINDOW
- /* DESIGN Window definition (used by the UIB)
- CREATE WINDOW Procedure ASSIGN
- HEIGHT = 15
- WIDTH = 60.
- /* END WINDOW DEFINITION */
- */
- &ANALYZE-RESUME
-
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Procedure
- /* *************************** Main Block *************************** */
- DEFINE BUFFER bASMutation FOR ASMutation.
- iAnzMail = 0.
- cSendMailProg = SEARCH ('sendsmtpmail.p').
- cProgramm = DYNAMIC-FUNCTION ('makeProgname':U, THIS-PROCEDURE:HANDLE) NO-ERROR.
- cLogFile = DYNAMIC-FUNCTION ('getLogFilePfad':U) NO-ERROR.
- IF cLogFile = ? THEN cLogFile = SESSION:TEMP-DIRECTORY.
- cLogFile = cLogFile + cProgramm + '.log'.
- RUN VALUE(cSendMailProg) ( cProgramm, cLogFile, cSendMailProg ) NO-ERROR.
- FOR EACH bASMutation NO-LOCK
- WHERE bASMutation.MutArt = 'MAIL'
- AND bASMutation.Aktiv = TRUE
- AND bASMutation.cStatus = '' :
-
- FIND ASMutation EXCLUSIVE-LOCK
- WHERE RECID(ASMutation) = RECID(bASMutation) NO-WAIT NO-ERROR.
- IF NOT AVAILABLE ASMutation THEN NEXT.
-
- ASSIGN
- ASMutation.cStatus = 'A'.
-
- ASSIGN
- cTo = ''
- cCC = ''.
- iAblauf = 0.
- cFeld = REPLACE(ASMutation.cFeld_1, ',', ';').
- DO ix = 1 TO NUM-ENTRIES(cFeld, ';'):
- cWert = ENTRY(ix, cFeld, ';').
- IF cWert BEGINS 'TO:' THEN ASSIGN cWert = SUBSTRING(cWert,04)
- iAblauf = 1.
- IF cWert BEGINS 'CC:' THEN ASSIGN cWert = SUBSTRING(cWert,04)
- iAblauf = 2.
- IF iAblauf = 0 THEN NEXT.
-
- CASE iAblauf:
- WHEN 1 THEN
- cTO = cTO
- + (IF cTO = '' THEN '' ELSE ';')
- + cWert.
- WHEN 2 THEN
- cCC = cCC
- + (IF cCC = '' THEN '' ELSE ';')
- + cWert.
- END CASE.
- END.
- /* ---------------------------------- */
- /* Für test an eine Feste Mailadresse */
- /* ---------------------------------- */
- /* MESSAGE cTO SKIP cCC */
- /* VIEW-AS ALERT-BOX INFORMATION BUTTONS OK. */
- /* cTO = 'wr@adprime.ch;wariru@hotmail.ch'. */
- /* cCC = 'walter.riechsteiner@gmail.com;wariru@hotmail.ch'. */
- EMPTY TEMP-TABLE ttsendmail.
- CREATE ttSendMail.
- ASSIGN
- ttsendmail.cFrom = cMailFromFreigabe
- ttsendmail.cTo = cTO
- ttsendmail.cCC = cCC
- ttsendmail.cSubject = ASMutation.cFeld_2
- ttsendmail.cBody = ASMutation.cFeld_3
- ttsendmail.cMailServer = cMailServer
- ttsendmail.cMailPort = cMailPort
- ttsendmail.cMailKonto = cMailKonto
- ttsendmail.cMailPassw = cMailPassw
- ttsendmail.cDomaine = cMailDomaine
- ttsendmail.lAuth = lMailAuth
- ttSendMail.lSSLEnabled = lSSLEnabled
- ttSendMail.cAttachedName = ASMutation.cKey_2
- ttSendMail.cAttachedFile = ASMutation.cKey_2.
-
- RUN VALUE(cSendMailProg) ( httSendMail, OUTPUT cMessage, OUTPUT lRetVal ).
-
- IF NOT lRetVal THEN
- DO:
- MESSAGE 'Mailversand gescheitert wegen ' SKIP
- cMessage
- VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
- ASSIGN
- ASMutation.cStatus = ''
- ASMutation.Aktiv = TRUE.
- NEXT.
- END.
-
- ASSIGN
- ASMutation.cStatus = 'E'
- ASMutation.Aktiv = FALSE.
-
- iAnzMail = iAnzMail + 1.
-
- PAUSE 0.25 NO-MESSAGE.
- IF iAnzMail < 5 THEN NEXT.
- PAUSE 5 NO-MESSAGE.
- iAnzMail = 0.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|