Code: Alles auswählen.
FUNCTION Z_OF_SEND_SMTP_MAIL.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(RECEIVER)
*" TABLES
*" MAILTEXT
*" EXCEPTIONS
*" NOK
*"----------------------------------------------------------------------
* Betriebssystemaufruf
DATA: STATUS LIKE BTCXP3-EXITSTAT.
DATA: COMMAND LIKE SXPGCOLIST-NAME.
DATA: PARAMETER LIKE SXPGCOLIST-PARAMETERS.
* Zwischenfile fuer Mailtext
DATA: MAILFILE(80) TYPE C.
* Ausgabe Betriebssystemaufruf
DATA: BEGIN OF EXEC_PROT OCCURS 0.
INCLUDE STRUCTURE BTCXPM.
DATA: END OF EXEC_PROT.
COMMAND = 'ZMAIL'.
*CONCATENATE '/tmp/' SY-UNAME SY-TSTLO '.mail' INTO MAILFILE.
* OF: 09.03.2001: Feld TSTLO (Timestamp) in 4.6C nicht mehr vorhanden
CONCATENATE '/tmp/' SY-UNAME SY-DATLO SY-TIMLO '.mail' INTO MAILFILE.
CONCATENATE MAILFILE RECEIVER INTO PARAMETER SEPARATED BY ' '.
OPEN DATASET MAILFILE FOR OUTPUT IN TEXT MODE.
IF SY-SUBRC <> 0. RAISE NOK. ENDIF.
LOOP AT MAILTEXT.
TRANSFER MAILTEXT TO MAILFILE.
ENDLOOP.
CLOSE DATASET MAILFILE.
CALL FUNCTION 'SXPG_CALL_SYSTEM'
EXPORTING
COMMANDNAME = COMMAND
ADDITIONAL_PARAMETERS = PARAMETER
IMPORTING
STATUS = STATUS
TABLES
EXEC_PROTOCOL = EXEC_PROT
EXCEPTIONS
NO_PERMISSION = 1
COMMAND_NOT_FOUND = 2
PARAMETERS_TOO_LONG = 3
SECURITY_RISK = 4
WRONG_CHECK_CALL_INTERFACE = 5
PROGRAM_START_ERROR = 6
PROGRAM_TERMINATION_ERROR = 7
X_ERROR = 8
PARAMETER_EXPECTED = 9
TOO_MANY_PARAMETERS = 10
ILLEGAL_COMMAND = 11
OTHERS = 12.
STATUS = SY-SUBRC.
* Mailzwischenfile loeschen
DELETE DATASET MAILFILE.
IF STATUS <> 0. RAISE NOK. ENDIF.
ENDFUNCTION.
Code: Alles auswählen.
cat $1 | sendmail $2