We have moved our domain from sapnuts.com to zapnuts.com, please bookmark and share.

Sending email with attachment in SAP ABAP

Author | Last Updated| | 29 Comments Facebook Share Twitter Share Google Plus Share A+ A-


Send email with attachment in SAP ABAP programming by using CL_BCS email class along with email body

Step1:Requirement Send email with attachment in SAP ABAP Normal Top^

In real time most of the applications using emails need to send data as a attachment, in the below tutorial you will learn how to send email with attachment.

Before going into the full details, please go through the tutorial Sending email using SAP ABAP .

Email is a concept of sending binary data to a mail server (SMTP), the mail server recieves the data and send it to the respective recipient.

To send attachment, we need to convert data into binary format.

To send data in an internal table (data) we need to convert internal table data into binary format.

Requirement: Send the list of materials with basic details to the specified email id as attachment for a material type. Requirement analysis: Get the list of materials for a material type(MTART) from MARA table and send the material details to the specified email id.

Resources used for sending email with attachment in SAP

CL_BCS (class_ To send email using SAP ABAP
HR_KR_STRING_TO_XSTRING (Function Module) Used to convert string to xstring
SCMS_XSTRING_TO_BINARY (Function Module) Used to convert xstring into binary data

Step2:Design selection-screen for email id and material type input Normal Top^

Go to SE38, provide a program name ZSAPN_SEND_EMAIL, create, provide short text and save it in a local object.

Design selection-screen for material type, email id, subject, send immediately flag inputs.

PARAMETERS P_MTART TYPE MARA-MTART. "material type input
PARAMETERS : P_EMAIL TYPE ADR6-SMTP_ADDR. "Email input
PARAMETERS: P_SUB TYPE CHAR50. "email subject
PARAMETERS : P_SEND AS CHECKBOX. "send immediately flag

Send email wil attachment in SAP ABAP

Step3:Set email document for class CL_BCS Important Top^

Declare CL_BCS class and create object for the class Cl_BCS.

*Prepare Mail Object
DATA:  LO_SEND_REQUEST TYPE REF TO CL_BCS VALUE IS INITIAL.
CLASS CL_BCS DEFINITION LOAD.
LO_SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).

Technically email is a binary document, we need to add document to the email object.Document contains parameters like email type (HTM, TXT etc), email subject, email body.

EMAIL BODY: We can send email body of 255 characters per line, email body might be more than 255 characters, so we need to pass it in the form of lines in an internal table (see example below).

Limitation: While using CL_BCS class to send email, we can set maximum 50 character subject only.
* Message body and subject
DATA: LO_DOCUMENT TYPE REF TO CL_DOCUMENT_BCS VALUE IS INITIAL. "document object
DATA : I_TEXT TYPE BCSY_TEXT. "Table for body
DATA : W_TEXT LIKE LINE OF I_TEXT. "work area for message body
*Set body
W_TEXT-LINE = 'This is the first tutorial of sending email using SAP ABAP programming by SAPNuts.com'.
APPEND W_TEXT TO I_TEXT.
CLEAR W_TEXT.
W_TEXT-LINE = 'SAPNuts.com is the best SAP ABAP learning portal'.
APPEND W_TEXT TO I_TEXT.
CLEAR W_TEXT.
*Create Email document
LO_DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT( "create document
I_TYPE = 'TXT' "Type of document HTM, TXT etc
I_TEXT =  I_TEXT "email body internal table
I_SUBJECT = P_SUB ). "email subject here p_sub input parameter
Pass the email document with subject, body and type to send request.
* Pass the document to send request
  LO_SEND_REQUEST->SET_DOCUMENT( LO_DOCUMENT ).

Step4:Convert data to binary and create attachment Important Top^

Declare internal table and work area for MARA, add logic to get data from MARA.

DATA : IT_MARA TYPE TABLE OF MARA, "internal table for MARA
       WA_MARA TYPE MARA. "work area for MARA
**Get data from MARA
  SELECT * FROM MARA INTO TABLE IT_MARA UP TO 50 ROWS
    WHERE MTART = P_MTART.

Declare strings, convert internal table data into string with horizantal tab (tab) and new line.

DATA : LV_STRING TYPE STRING, "declare string
       LV_DATA_STRING TYPE STRING, "declare string
LOOP AT IT_MARA INTO WA_MARA.
    CONCATENATE WA_MARA-MATNR WA_MARA-MTART WA_MARA-MEINS WA_MARA-MBRSH WA_MARA-MATKL INTO LV_STRING SEPARATED BY CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
    CONCATENATE LV_DATA_STRING LV_STRING INTO LV_DATA_STRING SEPARATED BY CL_ABAP_CHAR_UTILITIES=>NEWLINE.
    CLEAR: WA_MARA, LV_STRING.
  ENDLOOP.

Convert string data into xstring using function module HR_KR_STRING_TO_XSTRING.

DATA LV_XSTRING TYPE XSTRING .
**Convert string to xstring
  CALL FUNCTION 'HR_KR_STRING_TO_XSTRING'
    EXPORTING
*     codepage_to      = '8300'
      UNICODE_STRING   = LV_DATA_STRING
*     OUT_LEN          =
    IMPORTING
      XSTRING_STREAM   = LV_XSTRING
    EXCEPTIONS
      INVALID_CODEPAGE = 1
      INVALID_STRING   = 2
      OTHERS           = 3.
  IF SY-SUBRC <> 0.
    IF SY-SUBRC = 1 .

    ELSEIF SY-SUBRC = 2 .
      WRITE:/ 'invalid string ' .
    ENDIF.
  ENDIF.

Convert xstring data to binary data using function module SCMS_XSTRING_TO_BINARY .

  DATA: LIT_BINARY_CONTENT TYPE SOLIX_TAB.
***Xstring to binary
  CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
    EXPORTING
      BUFFER     = LV_XSTRING
    TABLES
      BINARY_TAB = LIT_BINARY_CONTENT.

Create attachment with attachment name, attachment type (ex: XLS, TXT etc) and attachment data .

DATA  L_ATTSUBJECT   TYPE SOOD-OBJDES.
**add attachment name
  CLEAR L_ATTSUBJECT .
  CONCATENATE 'Material Master Report' SY-DATUM INTO L_ATTSUBJECT.
* Create Attachment 
  TRY.
    LO_DOCUMENT->ADD_ATTACHMENT( EXPORTING
                                    I_ATTACHMENT_TYPE = 'XLS'
                                    I_ATTACHMENT_SUBJECT = L_ATTSUBJECT
                                    I_ATT_CONTENT_HEX = LIT_BINARY_CONTENT  ).
*          CATCH cx_document_bcs INTO lx_document_bcs.

  ENDTRY.

Step5:Set Sender and Recipient to send request Important Top^

For every email, there is a sender and reciever (recipient), set sender and recipient for send request.

TRY...ENDTRY is used for exception handleing in Object Oriented programming.
*Set Sender
DATA: LO_SENDER TYPE REF TO IF_SENDER_BCS VALUE IS INITIAL.
TRY.
  LO_SENDER = CL_SAPUSER_BCS=>CREATE( SY-UNAME ). "sender is the logged in user
* Set sender to send request
  LO_SEND_REQUEST->SET_SENDER(
  EXPORTING
  I_SENDER = LO_SENDER ).
*    CATCH CX_ADDRESS_BCS.
****Catch exception here
ENDTRY.
Set recipient for the send request
**Set recipient
DATA: LO_RECIPIENT TYPE REF TO IF_RECIPIENT_BCS VALUE IS INITIAL.
LO_RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( P_EMAIL ). "Here Recipient is email input p_email
TRY.
  LO_SEND_REQUEST->ADD_RECIPIENT(
      EXPORTING
      I_RECIPIENT = LO_RECIPIENT
      I_EXPRESS = 'X' ).
*  CATCH CX_SEND_REQ_BCS INTO BCS_EXCEPTION .
**Catch exception here
ENDTRY.

Step6:Set send email for send request Important Top^

In some servers network management team (BASIS) set mail sending frequency to reduce server load in SMTP(Simple Mail Transfer Protocol) configuration, in such cases the mails will be sent based on server load (may be some time later depends on server load)...In such cases we can set send immediately for the send request.

*Set immediate sending
TRY.
  CALL METHOD LO_SEND_REQUEST->SET_SEND_IMMEDIATELY
    EXPORTING
      I_SEND_IMMEDIATELY = 'X'.
*    CATCH CX_SEND_REQ_BCS INTO BCS_EXCEPTION .
**Catch exception here
ENDTRY.
Finally send email using send request.
TRY.
** Send email
  LO_SEND_REQUEST->SEND(
  EXPORTING
  I_WITH_ERROR_SCREEN = 'X' ).
  COMMIT WORK.
  IF SY-SUBRC = 0.
    WRITE :/ 'Mail sent successfully'.
  ENDIF.
*    CATCH CX_SEND_REQ_BCS INTO BCS_EXCEPTION .
*catch exception here
ENDTRY.

Step7:Final code to send email in SAP ABAP Normal Top^

The final code for sending email with attachment in SAP ABAP using CL_BCS class.

Send email with attachment in SAP ABAP

Send email with attachment in SAP ABAP

REPORT ZSAPN_SEND_EMAIL.
*Prepare Mail Object
DATA:  LO_SEND_REQUEST TYPE REF TO CL_BCS VALUE IS INITIAL.
CLASS CL_BCS DEFINITION LOAD.
DATA: LO_DOCUMENT TYPE REF TO CL_DOCUMENT_BCS VALUE IS INITIAL. "document object
DATA : I_TEXT TYPE BCSY_TEXT. "Table for body
DATA : W_TEXT LIKE LINE OF I_TEXT. "work area for message body
DATA: LO_SENDER TYPE REF TO IF_SENDER_BCS VALUE IS INITIAL. "sender
DATA: LO_RECIPIENT TYPE REF TO IF_RECIPIENT_BCS VALUE IS INITIAL. "recipient
**Selection screen
PARAMETERS P_MTART TYPE MARA-MTART. "material type input
PARAMETERS : P_EMAIL TYPE ADR6-SMTP_ADDR. "Email input
PARAMETERS: P_SUB TYPE CHAR50. "email subject
PARAMETERS : P_SEND AS CHECKBOX. "send immediately flag
***Attachment data
DATA : IT_MARA TYPE TABLE OF MARA,
       WA_MARA TYPE MARA.
DATA : LV_STRING TYPE STRING,
       LV_DATA_STRING TYPE STRING,
       LV_XSTRING TYPE XSTRING.
  DATA: LIT_BINARY_CONTENT TYPE SOLIX_TAB,
        L_ATTSUBJECT   TYPE SOOD-OBJDES.

START-OF-SELECTION.
  LO_SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).
* Message body and subject
*Set body
  W_TEXT-LINE = 'This is the first tutorial of sending email using SAP ABAP programming by SAPNuts.com'.
  APPEND W_TEXT TO I_TEXT.
  CLEAR W_TEXT.
  W_TEXT-LINE = 'SAPNuts.com is the best SAP ABAP learning portal'.
  APPEND W_TEXT TO I_TEXT.
  CLEAR W_TEXT.
  LO_DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT( "create document
  I_TYPE = 'TXT' "Type of document HTM, TXT etc
  I_TEXT =  I_TEXT "email body internal table
  I_SUBJECT = P_SUB ). "email subject here p_sub input parameter
* Pass the document to send request
  LO_SEND_REQUEST->SET_DOCUMENT( LO_DOCUMENT ).
***Set attachment
  SELECT * FROM MARA INTO TABLE IT_MARA UP TO 50 ROWS
    WHERE MTART = P_MTART.

  LOOP AT IT_MARA INTO WA_MARA.
    CONCATENATE WA_MARA-MATNR WA_MARA-MTART WA_MARA-MEINS WA_MARA-MBRSH WA_MARA-MATKL INTO LV_STRING SEPARATED BY CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
    CONCATENATE LV_DATA_STRING LV_STRING INTO LV_DATA_STRING SEPARATED BY CL_ABAP_CHAR_UTILITIES=>NEWLINE.
  ENDLOOP.
**Convert string to xstring
  CALL FUNCTION 'HR_KR_STRING_TO_XSTRING'
    EXPORTING
*     codepage_to      = '8300'
      UNICODE_STRING   = LV_DATA_STRING
*     OUT_LEN          =
    IMPORTING
      XSTRING_STREAM   = LV_XSTRING
    EXCEPTIONS
      INVALID_CODEPAGE = 1
      INVALID_STRING   = 2
      OTHERS           = 3.
  IF SY-SUBRC <> 0.
    IF SY-SUBRC = 1 .

    ELSEIF SY-SUBRC = 2 .
      WRITE:/ 'invalid string ' .
    ENDIF.
  ENDIF.

***Xstring to binary
  CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
    EXPORTING
      BUFFER     = LV_XSTRING
    TABLES
      BINARY_TAB = LIT_BINARY_CONTENT.
**add attachment
  CLEAR L_ATTSUBJECT .
  CONCATENATE 'Material Master Report' SY-DATUM INTO L_ATTSUBJECT.
* Create Attachment
  TRY.
    LO_DOCUMENT->ADD_ATTACHMENT( EXPORTING
                                    I_ATTACHMENT_TYPE = 'XLS'
                                    I_ATTACHMENT_SUBJECT = L_ATTSUBJECT
                                    I_ATT_CONTENT_HEX = LIT_BINARY_CONTENT  ).
*          CATCH cx_document_bcs INTO lx_document_bcs.

  ENDTRY.
  TRY.
    LO_SENDER = CL_SAPUSER_BCS=>CREATE( SY-UNAME ). "sender is the logged in user
* Set sender to send request
    LO_SEND_REQUEST->SET_SENDER(
    EXPORTING
    I_SENDER = LO_SENDER ).
*    CATCH CX_ADDRESS_BCS.
****Catch exception here
  ENDTRY.
**Set recipient
  LO_RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( P_EMAIL ). "Here Recipient is email input p_email
  TRY.
    LO_SEND_REQUEST->ADD_RECIPIENT(
        EXPORTING
        I_RECIPIENT = LO_RECIPIENT
        I_EXPRESS = 'X' ).
*  CATCH CX_SEND_REQ_BCS INTO BCS_EXCEPTION .
**Catch exception here
  ENDTRY.
  TRY.
    CALL METHOD LO_SEND_REQUEST->SET_SEND_IMMEDIATELY
      EXPORTING
        I_SEND_IMMEDIATELY = P_SEND. "here selection screen input p_send
*    CATCH CX_SEND_REQ_BCS INTO BCS_EXCEPTION .
**Catch exception here
  ENDTRY.
  TRY.
** Send email
    LO_SEND_REQUEST->SEND(
    EXPORTING
    I_WITH_ERROR_SCREEN = 'X' ).
    COMMIT WORK.
    IF SY-SUBRC = 0. "mail sent successfully
      WRITE :/ 'Mail sent successfully'.
    ENDIF.
*    CATCH CX_SEND_REQ_BCS INTO BCS_EXCEPTION .
*catch exception here
  ENDTRY.

Tutorial Comments

Total Comments: Add your Comment
29 Mar 2018

I liked your article. Thanks.

29 Mar 2018

its work for more then 250 characters

29 Mar 2018

its fine to do this, but actual requirement is not meet. U need to attach document form local system and that document must be attched and sent to the recipient through mail. Please do Clarify on this point. Your work will be apprenticed. Regards, Jagadishan Mudaliyar

29 Mar 2018

Does it work for more than 255 characters and also I have more than 30 columns that need to be displayed. Will the above code work for this scenario.

29 Mar 2018

MY mail body gets printed in PDF attcached with the mail. We need to print in mail body.

29 Mar 2018

When I am using the program for XMl format then although the file is getting opened in Notepad but not in browser. Can you explain why?

29 Mar 2018

How to check mail inbox ..which have we sent mail.??

29 Mar 2018

u can check mail in SOST t-code

01 May 2018

Express document "Cannot be sent: email with attachment" received from author ''missch" i am getting this type of express info and not getting attachment also..

06 May 2018

how to give the column heading in attachments...

05 Jan 2022

Article writing is also a excitement, if you know then you can write or else it is difficult to write. provigil pill https://provigilmodafinilchik.com

08 Jan 2022

pg ________________________ ________ __________ _______________________ ______ _____________________ ____________________________ pgslotgame.vip ________________PG SLOT_________ 3 __ _______________________ ___________________ _______ _______ _______________ ____________________ ____ 24 _______ _________________________________________appication_________________________________________ _____________________________________ ___________________________ ___________ 50% ____________________________________________ ________SLOTPG______________________________________________________________________________________________ _______________________________ _______________________________________ ________________________________ ________________ ___________________________ _______________________________ ______________________________________ ____________________________________________________100% ____________

26 Jan 2022

_______ ____ pg_________________ ________ _____________________ _______________________ ______ _____________________ ________________________ pgslotgame.vip ________________PG SLOT AUTO_________ 3 __ __________________________ ___________________ _______ _______ _______________ ___________________ ____ 24 _______ ________________________________________________________________________________________ _____________________________________ ___________________________________ ___________ 50% ______________________________________________ ___________________________________________________________________________________________ ________________________________ _______________________________________ ___________________________ ________________ _________________________________________________________________ _____________________________________________ ________________________________________________________________________100% ____________

31 Jan 2022

We will be professional wholesale provider of jerseys, customized in supplying General Jerseys and personalized jerseys. Jerseys along with 100% stitched real quality, all Numbers, Logos and Brands are sewn on and embroidered. nfl jerseys china

05 Feb 2022

_______ ____ pg________________________ ________ _____________________ _______________________ _______ _____________________ _______________________ pgslotgame.vip ________________PG SLOT_________ 3 __ _______________________ ___________________ _______ _______ _______________ ___________________ ____ 24 _______ ____________-___ __________________________appication____________________________________ ___________________________________________ _______________________ ___________ 100% _________________________________________________ ______________________________________________________________________________________________________ ___________________________________ __________________________________ _______________________________ ________________ _________________ _____ ___ ____ __ ___ _________________ ________________________________ _________________________________________________________100% PG SLOT

03 Mar 2022

PLz add the snapshot of how the data in attachment looks like?

12 Mar 2022

____ ____ ________ ______ ______ ____ __________________ _ _______ __ __ __ ___ ____ _______ ___. _____ ____ __ ___ ___ ____ __ ______ ___________ __ _____ ____ _____ __ _____ ___ ____. _____ _______ ___ ____ ____ ______ ____ _____ _____ _ _____ __ __ ___ 1283 __ ______ ___ _____ ______ ____ __ __ _____ _ _____ ___ _________ ___ __ ____ _____ _____. ___ _____ __ _____ ______ ____ ____ _ __ __ ____ ___ ____ ______ __ ____ ____ _ ___ ____ __ _____ __ __ ___. __ ____ ____ _ _____ ___ _____ _____ _______ __ ____ ___ _____ _____ __ ____ __ ____ ______ _____ ___ ___. _____ ____ ______ ______ __ ___ _____ _ _____ ___ __ __ ___ ______ ____ ___ __ ____ ______ ___ __ ____ _____ _______ __ ____ ______ ______ __ _____. ______ ______ _____ _____ ____ _ _____ ___________ ___ __ ___ _____ __ __ ___ _______. _____ __ _______ ____ __ ______ __ ______ ______ __ __ ___ __ _______ ... _____ _____ ______ _____ __ _______/ ____ _____ __ __ ____ _____ __ ___ ... ____ _______ ___ ____ ______ _______ __ __ ___ ______ _______ _ __ ______ ______ ______ ______ ___. _______ ___ ______ _____ __ ____ __ ______ ____ ____ __ ___ ____ ______ _____ ____ ___. _____ ___ ___ ___ ____ _____ _ _____ ___ ___ ____ __ ___ _____ ____ __ __ ___ __ _____ ______ ____ ___ __ ___ ____ _____ ____ ________ _____ ___. __ ____ __ ______ ____ _______ ___ __ __ _______ __ ____ _____ _____ _____. __ ____ _______ ___ _____ _______ __ __ ____ _____ __ ____ __ _____ _______ __ __ __ ___ ____ ____ _____ ____. ________ ______ ______ ___ _____ __ __________ _________ ___ _ ___ ___ _______ __ ___ _____ _____ ____ __ ____ ______ _____ ___ ___. ___ ______ ____ ______ ____ _______ _____ ____ _ ______ ______ ___ __ _____ ______ ____ __ _/_ _______ ____ _____ ___ ___. _____ ___ __ ________ ______ _____ _ ____ _______ _________ __ ____ _____ __ _ ___ __ _________ ___ ____ ____ __ _____ ____ ______ ____ ________ ____ (______) ___ ___ ___. _______ ____ __________ ______"______ _____ _ ____ ____ _______ __" _____ __ ____ 28 __ ___ __ ____ ______ _ ______ _ _________... ____ ___ _____ ______ ___ ___ _____ __ __ __ ___ _____ __ ____ _________ _____ _____ ____ ___ _ _____ __ _ ______ ____ ___ ___ _____ __ __ _____ ____ ___ _____ ____ ___. __ ___ 1283 _____ ____ ____ ______ ___ _____ ____ _____ __ _____ __ ____ ____ ____ __ ______ ____ ___ _____ ______ _____. source - https://kordavar.ir -

16 Mar 2022

_____ _____ _____ ____ _ _____ • _____ ______ _____ ____ _____ _ __ ___ ______ __ ____ _____ ____ __ _____ ____ ____ _____ ___ ____ ____ ____ ________. _____ ____ ___ ______ __ _____ ___ ____ ___ _____ __ ___ _ __ _____ ______ _____ ____. ___ _____ __ __ ___ _______ ___ __ _______ _ ___ __ ___ __ ___ ____ ____ ___ __ _____ ______ _ _________ ______ __ __ ____ ___ _____ ____ ____ _ ___ _____ __ __ __ _____ ______. _____ __ ___ __ __ ___ _____ ___ ______ _____ __ _____ ________ __ ___ ____ _ ____ ________ __ __ ___ _____ ______. __ _____ __ _____ ___ ____ __ ____ ____ __ _____ ______ ____ __ __ ___ ___ _____ _____ ___ _ __ _______ ___. ___ __ _____ ___ ______ _______ __ ___ _____ ____ __ _____ ___ __ _____ ___ _____ __ __ ____ ___ ____ __ __ ____ ____. ____ _____ ____ ____ ___ ____ _ __ __ ____ _____ ____ __ _____ ___ ____. _______ __ _______ ____ __ ____ _____ ____ _____ _____ _ ___ ______ __ ____ __ ___. ____ ________ ____ _____ ___ _____ __ __ ___ _____ ___ __ ____ ____ ____ _____ __ ____ _____ ____ ____ _______ ____ __ _____ __ _____ __ __ ____ ____ _____ ___ ___. ___ ___ ______ __ ___ ___ _____ ____ _____ _ ________ __ _____ ____ ____ __ _____ ___ __ __ ____ _ __ _____ _______ __ __ ____. ____ ____ _____ ___ __ ____ _____ ____ _____ _ ____ ____ __ __ __ ____ ____ ____ ____ __ ___ __ ___ _ ___ ____ _____ _______. __ _____ _____ __ ______ ___ ____ _____ _____ ___ __ ______ ____ _ __ ______ _________ _____ __ _____ _ _____ _____ _____ ____ ____ ____. _______ ___ ____ __ ___ _____ _____ __ __ __ _____ ___ __ _____ _____ ____ ___ ____. ____ _____ _____ ___ __ _____ ________ _ ___ _______ __ _______ _____ _______ __ ____. _____ _______ _ ___ ____ _____ _____ _ _____ _______ __ ___. ____ ____ _______ _______ _____

21 Mar 2022

______________ ______ _____________ JOKER ________________ joker slot _______ 500 ___ 500 ______ _____________ JOKER ______ ________ _______ 50,000 __ __________________________ ______________ ________________ SLOT JOKER ___________ JOKER_________ _________ 10,000 ___ ______________ JOKER ___ ____________________ _____________ _______ SLOTJOKER ____ 24 __. _________________ joker_____ ___________________ _______________ slot joker ______ ___10___100______ _____________________ ______ _________ JOKER ____ 24 __.

27 Mar 2022

Hey there I am so happy I found your webpage, I really found you by error, while I was searching on Yahoo for something else, Anyhow I am here now and would just like to say thanks for a marvelous post and a all round enjoyable blog (I also love the theme/design), I don't have time to read through it all at the moment but I have saved it and also included your RSS feeds, so when I have time I will be back to read a great deal more, Please do keep up the great job. https://beautybomb.co/store/

01 Apr 2022

Hi there, yes this post is actually good and I have learned lot of things from it regarding blogging. thanks. https://www.ecoleesthetiquenf.ca/dep-saint-jerome/

02 Apr 2022

An outstanding share! I have just forwarded this onto a friend who has been conducting a little research on this. And he actually bought me lunch because I stumbled upon it for him... lol. So let me reword this.... Thank YOU for the meal!! But yeah, thanx for spending some time to discuss this subject here on your web site. https://chefthierry.ca/products/spatule-a-patisserie/

10 Apr 2022

Thanks for sharing your thoughts on SAP ABAP Tutorials. Regardsclick click herehttps://mighty-wiki.win/index.php?title=American_footbal_great_can_Xliv_odds_for_getting_First_Td_35312101145&oldid=501757https://wiki-fusion.win/index.php?title=Read_and_learn_about_home_based_business_-_the_greatest_grow_4431313847&oldid=499692

13 Apr 2022

_________ _____ ___ ____________ ________________ _________ ____ ________________ ___________ SlotPg _______ 200 ___ ____________ _____________ 1 _______ ____ ____ _________ _______ __________ - _______ _______ _______ ____________ _____ 45 ______ ___________ Pg Slot ___________________ _____ _______ PG SLOT ______ ____________ _________ ___________ _______________ PG SLOT __________ ____________ SLOT PG __________________________ _________ 10,000 ___ _____________ _________ __ SLOT PG _______ ____ 24 __. ___________________________ _________ ___ _____________ ____________ ____________ PG ___________________

03 May 2022

I think the admin of this web page is in fact working hard in favor of his site, because here every information is quality based material. darkmarket url https://darkmarketlist.shop

10 May 2022

You really make it seem so easy with your presentation but I find this topic to be really something which I think I would never understand. It seems too complex and very broad for me. I'm looking forward for your next post, I'll try to get the hang of it! dark web markets https://darkmarketlist.shop

17 May 2022

Excellent article. Keep writing such kind of info on your page. Im really impressed by your blog. Hey there, You have done an incredible job. I will definitely digg it and in my view recommend to my friends. I am sure they will be benefited from this site. dark market link https://market-darknet.com

Leave a Comment

Enter Comment Text