Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

eMail help

Former Member
0 Likes
591

Gurus -

This is a very trivia question for you folks..

Can someone please send me sample code for sending email (with subject line) to MS outlook.. Thanks in advance

Regards

Sudhakar

4 REPLIES 4
Read only

Former Member
Read only

Former Member
0 Likes
530

Hi,

Use the code below as per your need.

REPORT ZTUNIXMAIL.

*

DATA : TO_ADDRESS LIKE SY_LISEL,

FROM_ADDRESS LIKE SY-LISEL,

SUBJECT LIKE SY-LISEL,

ATTACHMENT_NAME LIKE SY_LISEL,

DATA_FILE_PATH LIKE SXPGCOLIST-PARAMETERS,

BODY_FILE_PATH LIKE SXPGCOLIST-PARAMETERS.

DATA : BEGIN OF INT_EMAIL_ATTACH OCCURS 0,

TXTLINE CHAR(255),

END OF INT_EMAIL_ATTACH.

DATA : BEGIN OF INT_EMAIL_BODY OCCURS 0,

TXTLINE CHAR(255),

END OF INT_EMAIL_BODY.

CLEAR : INT_EXEC_PROTOCOL,INT_EMAIL_ATTACH,INT_EMAIL_BODY.

REFRESH : INT_EXEC_PROTOCOL,INT_EMAIL_ATTACH,INT_EMAIL_BODY.

*

INT_EMAIL_ATTACH-TXTLINE = 'Put all attachment text in this table'.

APPEND INT_EMAIL_ATTACH. CLEAR INT_EMAIL_ATTACH.

INT_EMAIL_BODY-TXTLINE = 'Put all attachment text in this table'.

APPEND INT_EMAIL_BODY. CLEAR INT_EMAIL_BODY.

*

CONCATENATE TO_ADDRESS

FROM_ADDRESS

SUBJECT

BODY_FILE_PATH

DATA_FILE_PATH

ATTACHMENT_NAME

INTO V_PARAMETERS.

*

IF NOT INT_EMAIL_ATTACH[] IS INITIAL.

OPEN DATASET DATA_FILE_PATH FOR OUTPUT IN TEXT MODE.

LOOP AT INT_EMAIL_ATTACH.

TRANSFER INT_EMAIL_ATTACH-TXTLINE TO DATA_FILE_PATH.

ENDLOOP.

CLOSE DATASET DATA_FILE_PATH.

ENDIF.

*

IF NOT INT_EMAIL_BODY[] IS INITIAL.

OPEN DATASET BODY_FILE_PATH FOR OUTPUT IN TEXT MODE.

LOOP AT INT_EMAIL_BODY.

TRANSFER INT_EMAIL_BODY-TXTLINE TO BODY_FILE_PATH.

ENDLOOP.

CLOSE DATASET BODY_FILE_PATH.

ENDIF.

*

CALL FUNCTION 'SXPG_CALL_SYSTEM'

EXPORTING

COMMANDNAME = 'Z_EMAIL' - Command calling unix script

PARAMETERS = V_PARAMETERS

  • importing

  • status = ''

TABLES

EXEC_PROTOCOL = INT_EXEC_PROTOCOL

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.

-


Another Method for the same

-


DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.

DATA: OBJHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE.

DATA: OBJBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.

DATA: OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.

DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.

DATA: DOC_CHNG LIKE SODOCCHGI1.

DATA: TAB_LINES LIKE SY-TABIX.

DATA L_NUM(3).

  • Creation of the document to be sent

  • File Name

DOC_CHNG-OBJ_NAME = 'SENDFILE'.

  • Mail Subject

DOC_CHNG-OBJ_DESCR = 'Delivered Mail'.

  • Mail Contents

OBJTXT = 'Object text'.

APPEND OBJTXT.

DESCRIBE TABLE OBJTXT LINES TAB_LINES.

READ TABLE OBJTXT INDEX TAB_LINES.

DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).

  • Creation of the entry for the compressed document

CLEAR OBJPACK-TRANSF_BIN.

OBJPACK-HEAD_START = 1.

OBJPACK-HEAD_NUM = 0.

OBJPACK-BODY_START = 1.

OBJPACK-BODY_NUM = TAB_LINES.

OBJPACK-DOC_TYPE = 'RAW'.

APPEND OBJPACK.

  • Creation of the document attachment

LOOP AT ITAB_DATA.

CONCATENATE ITAB_DATA-PRODUCTOR

ITAB_DATA-VBELN

ITAB_DATA-POSNR

ITAB_DATA-MATNR INTO OBJBIN.

APPEND OBJBIN.

ENDLOOP.

DESCRIBE TABLE OBJBIN LINES TAB_LINES.

OBJHEAD = 'ORDERS'.

APPEND OBJHEAD.

    • Creation of the entry for the compressed attachment

OBJPACK-TRANSF_BIN = 'X'.

OBJPACK-HEAD_START = 1.

OBJPACK-HEAD_NUM = 1.

OBJPACK-BODY_START = 1.

OBJPACK-BODY_NUM = TAB_LINES.

OBJPACK-DOC_TYPE = 'TXT'.

OBJPACK-OBJ_NAME = 'WEBSITE'.

OBJPACK-OBJ_DESCR = 'ORDERS.TXT'.

OBJPACK-DOC_SIZE = TAB_LINES * 255.

APPEND OBJPACK.

  • Completing the recipient list

  • target recipent

clear RECLIST.

RECLIST-RECEIVER = 'test@here.com'.

RECLIST-EXPRESS = 'X'.

RECLIST-REC_TYPE = 'U'.

APPEND RECLIST.

  • copy recipents

clear RECLIST.

RECLIST-RECEIVER = 'secondtest@here.com'.

RECLIST-EXPRESS = 'X'.

RECLIST-REC_TYPE = 'U'.

RECLIST-COPY = 'X'.

APPEND RECLIST.

  • Sending the document

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

DOCUMENT_DATA = DOC_CHNG

TABLES

PACKING_LIST = OBJPACK

OBJECT_HEADER = OBJHEAD

CONTENTS_BIN = OBJBIN

CONTENTS_TXT = OBJTXT

RECEIVERS = RECLIST

EXCEPTIONS

TOO_MANY_RECEIVERS = 1

DOCUMENT_NOT_SENT = 2

OPERATION_NO_AUTHORIZATION = 4

OTHERS = 99.

ENDFORM. " SEND_MAIL

*******************************

Another Method.

*******************************

-


REPORT Z_SENDITAB_EMAIL_SREE_13424 .

tables : mara.

DATA IT_MAIL(200) TYPE C OCCURS 0 WITH HEADER LINE.

  • message body:

IT_MAIL = '1st line.'. APPEND IT_MAIL.

IT_MAIL = '2nd line.'. APPEND IT_MAIL.

IT_MAIL = '3rd line.'. APPEND IT_MAIL.

IT_MAIL = '4th line.'. APPEND IT_MAIL.

  • to view the following function (cannot be viewed in se37):

  • go to sm59, select 'TCP/IP connections',

  • select and open 'SERVER_EXEC' or 'LOCAL_EXEC',

  • look on the pull down menu SYSTEM INFORMATION->FUNCTION LIST

data : begin of itab occurs 0,

matnr like mara-matnr,

mtart like mara-mtart,

mbrsh like mara-mbrsh,

meins like mara-meins,

end of itab.

select

matnr

mtart

mbrsh

meins

from mara

into table itab.

if sy-subrc = 0.

CALL FUNCTION 'RFC_MAIL' DESTINATION 'LOCAL_EXEC'

EXPORTING USER = 'srini_paru@yahoo.com'

  • TABLES MAIL = IT_MAIL.

TABLES MAIL = ITAB.

endif.

CASE SY-SUBRC.

WHEN 0. WRITE 'E-mail sent successfully.'.

WHEN OTHERS. WRITE 'Error sending E-mail!'.

ENDCASE.

Regards,

Amit Mishra

Please mark helpful answer.

Message was edited by: Amit Mishra

Read only

Former Member
0 Likes
530

Hi,

look at following threads:

rgds,

latheesh

Read only

athavanraja
Active Contributor
0 Likes
530

if you are on WAS6.10 or above you can use the following code sample

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5931ff64-0a01-0010-2bb7-ff2...

Regards

Raja