Problem while sending file attachment

<strong>Hi,
I am using java mail api to send mail from a standalone java application. The mail has one html file attachment. I am using the below java program.</strong>
import java.io.File;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Part;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class AttachExample {
public static void main(String args[]) throws Exception {
String host = "smtp.gmail.com";
String from = "[email protected]";
String to = "[email protected]";
String fileAttachment = "javamail.html";
// Get system properties
Properties props = System.getProperties();
// Setup mail server
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
Authenticator authenticator = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
String username = "[email protected]";
String password = "password";
return new PasswordAuthentication(username, password);
// Get session
Session session = Session.getInstance(props, authenticator);
// Define message
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(
"[email protected]"));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(from));
message.setSubject("Hello JavaMail Attachment");
// create the mail root multipart
MimeMultipart mpRoot = new MimeMultipart("mixed");
// Create a body part to house the multipart/alternative Part
MimeBodyPart contentPartRoot = new MimeBodyPart();
// Create the content multipart (for text and HTML)
MimeMultipart mpContent = new MimeMultipart("alternative");
// Add text
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setText("Hello World");
mpContent.addBodyPart(mbp1);
// Add html
MimeBodyPart mbp2 = new MimeBodyPart();
mbp2.setContent("<P>Hello World</P>", "text/html");
mpContent.addBodyPart(mbp2);
contentPartRoot.setContent(mpContent);
// Add the root body part to the root multipart
mpRoot.addBodyPart(contentPartRoot);
// Add an attachment
MimeBodyPart mbp3 = new MimeBodyPart();
DataSource source = new FileDataSource("javamail.html");
mbp3.setDisposition(Part.ATTACHMENT);
mbp3.setDataHandler(new DataHandler(source));
mbp3.setFileName("javamail.html");
mbp3.setHeader("Content-Type", "text/html");
mpRoot.addBodyPart(mbp3);
message.setContent(mpRoot);
message.saveChanges();
session.setDebug(true);
// Send the message
Transport.send(message);
<strong>
In my web mail I am not able to find the attachment in inbox/sent item. However I can see the mail is present there.</strong>
Here is the mail....
------=_Part_0_5439109.
<div class="ii gt">
1276373943170
Content-Type: multipart/alternative; boundary="----=_Part_1_14410104.1276373943174"
------=_Part_1_14410104.1276373943174
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hello World
------=_Part_1_14410104.1276373943174
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
<P>Hello World</P>
------=_Part_1_14410104.1276373943174--
------=_Part_0_5439109.1276373943170
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename=javamail.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "<a href="http://www.w3/" target="_blank">http://www.w3</a>=<br />
.org/TR/REC-html40/loose.dtd">
<html><head>
<meta http-equiv=3D"content-type" content=3D"text/html;
charset=3DISO-8859-1=<br />
<<.....more html code....>><br />
</div>
<hr><br />
=A9 Vipan Singla 2001<br />
</body></html><br />
------=_Part_0_5439109.
<div class="ii gt">
1276373943170--<br />
<br />
<br />
<strong>I think I am missing something. Please suggest if you have any idea.<br />
Thanks In Advance.</strong><br />
<br />
<br />
</div>

Your posting is full of html markup that this forum doesn't understand, which makes
it really hard to see what you were trying to say...
Also, I can't tell whether you're showing us the entire message that was sent,
or whether you're just showing us part of it. For example, I don't see any From
or To headers in the message. If they're really missing, something else is wrong.
If they actually are present in the message, then the rest of what you showed
looks fine.
Possibly your web mail isn't able to handle a message that has both a
multipart/alternative and an attachment? Try a simple plain text message
with an attachment and see if that works better.

Similar Messages

  • Problem while sending IDOC to File Senario

    Hi Experts
        I am having problem while sending the Idoc from SAP R/3 to File
       I have done all the setting in SAP as well in XI but while pushing IDOC
       I am getting error in the transaction sm58 in SAP R/3
      " <b>The service for the client 300(My SAP R/3 client) is not present in Integration
      Directory</b>"
    I can any one explain me what to done on this....all the connections are fine
    Waiting for Response
    Adv points and thanx
    Rakesh

    Reason and Prerequisites
    You send IDocs from system ABC to the exchange infrastructure (XI) of system XIZ, and error messages are issued in system ABC (Transaction SM58) for the IDOC_INBOUND_ASYNCHRONOUS function module.
    This note proposes solutions for the following error messages:
    a) No service for system SAPABC client 123 in the integration directory
    b) Transaction IDX1: Port SAPABC, client 123, RFC destination
    c) ::000
    d) NO_EXEC_PERMISSION: "USER" "Business_System"
    e) IDoc adapter inbound: Error error ...
    Solution
    a) Error message: No service for system SAPABC client 123 in the integration directory
    Solution:
    You send IDocs from system ABC to XI. In the control record of the IDoc, the SNDPOR field contains the value "SAPABC". The client of the sending system is determined by the MANDT field of the control record. The system ID and client are then used to determine a service without party of the type (business-system/business-service):
    Business system
    Activities in the System Landscape Directory (SLD)(Create technical system):
    Create a technical system for system ABC in the SLD, and create the client for this. Do not forget to assign an "ALE logical system" (for example, "ABCCLNT123") to this technical system.
    SLD (Business system):
    You can now explicitly assign a business system to this client.
    For more details, refer to the SLD documentation.
    Activities in system ABC (self-registration in the SLD):
    Alternatively, you can register the system in the SLD in system ABC with Transaction RZ70. You will find detailed information about the SLD registration of systems on the SAP Service Marketplace for the "Exchange Infrastructure" in the document "Exchange_Installation_Guide.pdf".
    In system ABC, you can check your configuration with TransactionSLDCHECK.
    Activities in Integration Directory (import business system from SLD):
    You will find the business systems under Services Without Party in the Integration Services. In the Service menu, you will find the system identifiers, the client, and the corresponding ALE logical system under "Objects"->"Adapter-specific identifiers".
    Use the Import/Update button to copy the data from the SLD, to create business systems, or to update their identifiers.
    Business service
    Activities in the Integration Builder directory:
    You want to create a service without party that is not part of your system infrastructure and is therefore not maintained in the SLD.
    In the Integration Builder directory, you will find the "Business-Services" under Services Without Party. In the Service menu, you will find the system identifiers, the client, and the corresponding ALE logical system under "Objects"->"Adapter-specific identifiers".
    Activate the change list in Integration Directory.
    In system ABC, you can restart the incorrect entry from Transaction SM58 .
    b) Error message: Transaction IDX1: Port SAPABC, client 123, RFC destination
    Solution:
    The Integration Server tries to load the IDoc metadata from the sending system. The IDoc schemas from the Integration Repository cannot be used because they are release-dependent.
    The sending system is determined by the value of the "SNDPOR" field from the IDoc control record (for example, "SAPABC").
    Activities in the central XI system:
    In Transaction IDX1, you can assign an RFC destination to the sending system (for example, "SAPABC"). This must be created beforehand in Transaction SM59.
    Note that the IDoc metadata is cross-client data. In Transaction IDX1, only one entry must be maintained for each system. Only the lowest client is used by the runtime for Idoc metadata retrieval with RFC.
    Ensure that only SAPABC and not "SAPABC_123" is entered in the port name.
    c) Error message: "::000"
    Solution:
    This error occurs if the central XI system tries to load the IDoc metadata from the sending system by RFC.
    There may be several different reasons for the failure of the metadata import, the error is not transferred in full by tRFC completely, and this results in the error message above.
    User cannot log onto sending system
    User/password/client is not correct or the user is logged due to too many failed logons.
    Activities in sender system ABC:
    Transaction SM21 contains entries for failed logons.
    Activities in the central XI system:
    Determine the sending port from the IDoc control record of the IDoc. If the ID of the sending system has the value "ABC", the value of the sending port is "SAPABC". You will find the RFC destination used for the "SAPABC" sending port with the lowest client in Transaction IDX1. In Transaction SM59, you will find the RFC destination containing the maintained logon data .
    User does not have the required authorizations
    Activities in the sender system ABC:
    In Transaction SM21, you will find entries relating to authorization problems and more exact details.
    Contact your system administrator and, if necessary, assign the user the required roles in user administration.
    IDoctyp/Cimtyp cannot be loaded
    Activities in sender system ABC:
    In the sender system, you can check your IDoc types in Transaction WE30 (IDoc type editor)  Take note not only of the errors, but also of the warnings.
    The most common errors are:
    - IDoc type or segments not released
    - Segments that no longer exist are listed in the IDoc type
    - Data elements that do not exist in the DDIC are assigned to fields
      in the segment.
    Contact your system administrator and correct these errors in the IDoc type.
    d) Error message: NO_EXEC_PERMISSION: "User" "Business_System"
    Solution:
    You created a list of users in the directory who are authorized to use the "Business_System". The user in the error message is not on the list.
    Alternatively, the same error is used if you have created a sender agreement with a channel of the IDoc type for the "Business_System" and the interface used. The user in the error message is not contained in the list of all authorized users defined there.
    e) Error message: IDoc adapter inbound: Error error
    Solution:
    You send IDocs to the central XI system, where they are received by the IDoc adapter. The IDocs are converted into IDoc XML, and a corresponding XI message is generated and transferred to the XI Runtime Engine. The Engine tries to read its own business system from the "Exchange Profile". If the Exchange Profile is currently unavailable, the message is not processed and it is returned to the sending system with an error message.
    Regard's
    Prabhakar.....

  • Problem  while sending the mail from sap

    Hi experts,
                     I am facing some problem while sending mail from sap to external mail.
    this is th code i am using but it is not working. plz check and tell me.
    REPORT  ZMAIL_DEMO.
    data: maildata type sodocchgi1.
    data: mailtxt type table of solisti1 with header line.
    data: mailrec type table of somlrec90 with header line.
    start-of-selection.
    break-point.
    clear: maildata, mailtxt, mailrec.
    refresh: mailtxt, mailrec.
    maildata-obj_name = 'TEST'.
    maildata-obj_descr = 'Test'.
    maildata-obj_langu = sy-langu.
    mailtxt-line = 'This is a test'.
    append mailtxt.
    mailrec-receiver = 'SOME MAIL ID'.
    mailrec-rec_type = 'U'.
    append mailrec.
    call function 'SO_NEW_DOCUMENT_SEND_API1'
    exporting
    document_data = maildata
    document_type = 'RAW'
    put_in_outbox = 'X'
    tables
    object_header = mailtxt
    object_content = mailtxt
    receivers = mailrec
    exceptions
    too_many_receivers = 1
    document_not_sent = 2
    document_type_not_exist = 3
    operation_no_authorization = 4
    parameter_error = 5
    x_error = 6
    enqueue_error = 7
    others = 8.
    if sy-subrc = 0.   "( did not receive any mail) *
    write : 'mail sent'.
    endif.

    Hi,
    Please check with the following code.
    TABLES: KNA1.
    data for send function
    DATA DOC_DATA  LIKE SODOCCHGI1.
    DATA OBJECT_ID LIKE SOODK.
    DATA OBJCONT   LIKE SOLI OCCURS 10 WITH HEADER LINE.
    DATA RECEIVER  LIKE SOMLRECI1 OCCURS 1 WITH HEADER LINE.
    SELECT * FROM KNA1 WHERE ANRED LIKE 'C%'.
      WRITE:/ KNA1-KUNNR, KNA1-ANRED.
    send data internal table
      CONCATENATE KNA1-KUNNR KNA1-ANRED
                             INTO OBJCONT-LINE SEPARATED BY SPACE.
      APPEND OBJCONT.
    ENDSELECT.
    insert receiver (sap name)
      REFRESH RECEIVER.
      CLEAR RECEIVER.
      MOVE: 'any_email'_ TO RECEIVER-RECEIVER,                " SY-UNAME
            'X'      TO RECEIVER-EXPRESS,
            'U'      TO RECEIVER-REC_TYPE.
      APPEND RECEIVER.
    insert mail description
      WRITE 'Sending a mail through abap'
                     TO DOC_DATA-OBJ_DESCR.
    CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
         EXPORTING
              DOCUMENT_DATA              = DOC_DATA
         IMPORTING
              NEW_OBJECT_ID              = OBJECT_ID
         TABLES
              OBJECT_CONTENT             = OBJCONT
              RECEIVERS                  = RECEIVER
         EXCEPTIONS
              TOO_MANY_RECEIVERS         = 1
              DOCUMENT_NOT_SENT          = 2
              DOCUMENT_TYPE_NOT_EXIST    = 3
              OPERATION_NO_AUTHORIZATION = 4
              PARAMETER_ERROR            = 5
              X_ERROR                    = 6
              ENQUEUE_ERROR              = 7
              OTHERS                     = 8.

  • Problem while sending the message using RWB

    Dear All,
    I am facing a problem while sending a message from RWB. I sent the message using Test Message in component monitoring, it says message sent but I am not able to see any message in sxi_monitor.
    When I send the same message using the http client it successfully processed by XI and I can see the success message in sxi_monitor.
    Please let me know if anyone has face similar kind of issue.
    Thanks,
    Alok
    Edited by: Alok Raoka on May 26, 2008 5:08 PM

    Dear All,
    I am facing a problem while sending a message from RWB. I sent the message using Test Message in component monitoring, it says message sent but I am not able to see any message in sxi_monitor.
    When I send the same message using the http client it successfully processed by XI and I can see the success message in sxi_monitor.
    Please let me know if anyone has face similar kind of issue.
    Thanks,
    Alok
    Edited by: Alok Raoka on May 26, 2008 5:08 PM

  • Problem while sending FAX through PRINT_TEXT    FM

    Hi All,
    I have a problem while sending a fax.
    we are sending fax through the FM PRINT_TEXT.
    Below is the FM we are passing paramenters.
    CALL FUNCTION 'PRINT_TEXT'
           EXPORTING
                APPLICATION              = 'TX'
                DEVICE                   = 'TELEFAX'
                DIALOG                   = SPACE
                HEADER                   = fs_header
                OPTIONS                  = fs_popt
           IMPORTING
                RESULT                   = fs_pres
           TABLES
                LINES                    = <b>int_fax</b>
           EXCEPTIONS
                CANCELED                 = 1
                DEVICE                   = 2
                FORM                     = 3
                OPTIONS                  = 4
                UNCLOSED                 = 5
                UNKNOWN                  = 6
                FORMAT                   = 7
                TEXTFORMAT               = 8
                COMMUNICATION            = 9
                BAD_PAGEFORMAT_FOR_PRINT = 10
                OTHERS                   = 11.
      if sy-subrc ne 0.
        p_flag = lit_x.
      endif.
    In INT_FAX internal table we have two fields one is tdformat second one is tdline
    The lengh of the TDLINE is 132 char,Initially for all reocords we have only 108 char length,But according to user requirement we added one more field in taht
    Now the lengh increased to 132 for each records.
    When i checked in debugg mode the INT_FAX internal table have all 132 characters.
    The problem is while checking in SOST trnasaction it is showing 108 characters in one line and remaining in second line,can you please help on this.
    Thanks In advance
    Sriman.

    may it be that in those cases where it doesnt work, that you got no fax number?
    Since it works soemtimes, it seems there are no errors, but rather in some cases some important info is missing, fax number may be one of thsoe important info in a FAX scenario.

  • Problem while sending unicode (utf-8) xml to IE.

    Hi,
    I have encoding problem while sending utf-8 xml from servlet to IE (Client), where i am parsing the xml using Ajax.
    In the log I can see proper special characters that are being sent from the servlet. but when same is seen in the client end,, it is showing ? symbols instead of special charcters.
    This is the code that sends the xml from servlet.
    ByteArrayOutputStream stream = new ByteArrayOutputStream(2000);
    transformer.transform(new DOMSource(document), new StreamResult(new OutputStreamWriter(stream, "iso-8859-1")));
    _response.setContentType("text/xml; charset=UTF-8");
    _response.setHeader("Cache-Control", "no-cache");
    _response.getWriter().println(new String(stream.toByteArray(),  "UTF-8"));
    In the log i can see :
    <response status="success" value="1154081722531" hasNextPage="false" hasPreviousPage="false" ><row row_id="PARTY_test_asdasd" column_0="PARTY_test_asdasd" column_1="asdasd �" mode="edit" column_en_US="asdasd �" column_de_DE="? xyz" column_fr_FR="" ></row></response>
    But in the Client side I am able to see
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <response status="success" value="1154082795061" hasNextPage="false" hasPreviousPage="false"><row row_id="PARTY_test_asdasd" column_0="PARTY_test_asdasd" column_1="asdasd ?" mode="edit" column_en_US="asdasd ?" column_de_DE="? xyz" column_fr_FR=""/></response>
    I am getting ? instead of �.
    It will be greatful if somebody tell how to send utf xml from servlet, for ajax purpose.
    Thanks,
    Siva1

    This is the code that sends the xml from servlet.
    ByteArrayOutputStream stream = new
    ByteArrayOutputStream(2000);
    transformer.transform(new DOMSource(document), new
    StreamResult(new OutputStreamWriter(stream,
    "iso-8859-1")));Here you produce XML that's encoded in ISO-8859-1. (!!!)
    _response.setContentType("text/xml; charset=UTF-8");Here you tell the browser that it's encoded in UTF-8.
    _response.getWriter().println(new String(stream.toByteArray(), "UTF-8"));Here you convert the XML to a String, assuming that it was encoded in UTF-8, which it wasn't.
    Besides shooting yourself in the foot by choosing ISO-8859-1 for no good reason, you're also doing a lot of translating from bytes to chars and back again. Not only is that a waste of time, it introduces errors if you don't do it right. Try this instead:_response.setContentType("text/xml; charset=UTF-8");
    _response.setHeader("Cache-Control", "no-cache");
    _transformer.transform(new DOMSource(document_),
                    new StreamResult(_response.getOutputStream()));

  • Send Files - attach to email filename

    I have dynamic page rendered by asp.net. Let's call it ShowPDF.aspx - it renders PDF file to output. I would like to ask regarding functionality for sending files directly from Adobe Reader X (Tools > Send Files > Attach to Email). The name of the attached file is prefilled to ShowPDF.aspx. 
    Can it be changed to any other values? How is the value calculated? Can it be influenced by any http header?
    Thanks a lot

    Drag or export it from iPhoto to the desktop, and if needed, drag that file to the Preview icon in the Dock, choose Export from the File menu, and specify JPEG as the format.
    (89066)

  • How to rollback a traansacation if we got any problem while sending data to

    how to rollback a traansacation if we got any problem while sending data to a webservice...

    Is it SOA or OSB? Which version you are in..

  • Logo Problem While sending the smart form as an attachment via Email

    Hi ,
    I am using the FM SO_NEW_DOCUMENT_ATT_SEND_API1 to send the smartforma as an attachement into the mailbox . it is sent correctly but the COLOR LOGO are not coming correctlly .
    I checked the OTF to PDF file is getting converted correctly .i.e. if i am downloading the foem then it is displaying correctly , but in case of sending it to mailbox as an attached PDF file ,the logo are not comming correctly ,
    If anybody faced such type of problem can u please clarify .
    I am thinking the problem is in FM  SO_NEW_DOCUMENT_ATT_SEND_API1 . this FM is not sending the Attached PDF file correctly .
    All the TExt/variables are displaying  correctly in the PDF file except the LOGO.while opening the PDF file one Warnng message is getting displayed : "An error occured while opening the Image" .
    PLease help ..
    Thanks,
    sachi

    Hi,
    Edit your  logo as 256 color bit map image and save it  and upload  into SE78,
    And also better to use this FM :SO_DOCUMENT_SEND_API1  it is good for new versions.
    thanks,
    venkat.
    Edited by: Satya venkat Rao.R on Dec 13, 2011 6:02 AM

  • Excel 2007 Problems while sending E-Mail with Excel Attachment

    Hello all,
    i wrote a small WD application for uploading a file and sending this file
    vie e-mail to some recipients.
    I'm using class "cl_document_bcs". No problem with ".doc", ".pdf", also no problem
    with ".xls" files generated by old Excel version. But when generating an .xls document with
    Excel 2007, the attached file is not readable (just non usable signs).
    For attaching the .xls file i use:
      TRY.
          lr_attachment =  cl_document_bcs=>create_document(
              i_type        = lv_filetype " --> 'XLS'
              i_subject     = 'excel document'
              i_hex         = lt_file_solix
        CATCH cx_document_bcs .
      ENDTRY.
    Are there any restrictions regarding Excel 2007?
    The data element of i_type is just char3, so XLSX
    wouldn't be possible.

    hello Christopher Linke ,
    if you Programatically generation a excel file and you have 2007 version you can use OLE automation to save file as .xls i.e. a 2003 work book ..
    if you have a excel file ready and you just want to send it across the you will have to convert the xlsx to xls and then send it you can do this as well using OLE automation
    (in 2007 in SAVE AS option you can save it excel 97 2003 workbook)
    Edited by: Anup Deshmukh on Mar 3, 2010 3:38 PM

  • Problem in Sender File Adapter using FCC with Variable structure

    Hi Experts,
    Hi Experts,
    I have facing an issues while using FCC in Sender File adapter. Below are the configs for the same:-
    Recordset structure required is ==HEADER,1,DATA,*,TRAILER,1
    Recordset per message == *
    Key Field Name == Key
    (Sorry i dont know how to insert screen shot here..pls tell me how can i insert screen shots here on sdn)
    HEADER.fieldSeparator           ,
    HEADER.endSeparator           u2018nlu2019
    HEADER.fieldNames               Key,x,y,zu2026
    HEADER.keyFieldValue          1
    HEADER.keyFieldInStructure      ignore
    HEADER.fieldContentFormatting     trim
    HEADER.additionalLastFields     ignore
    HEADER.missingLastFields     ignore
    DATA.fieldSeparator
    DATA.endSeparator
    DATA.fieldNames
    DATA.keyFieldValue
    DATA.keyFieldInStructure
    DATA.fieldContentFormatting
    DATA.additionalLastFields
    DATA.missingLastFields
    Using same variables for Trailer record as well.
    Source CSV file which i am picking:-
    ADSE ,RASD,replan  Contact ,2  0080509 0 8:43:25   ,        
    EMPL ,0011111,  S Top Up ,20080401  ,20080430  ,sdf  ,                          00000000431250  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:07:35,
    EMPL ,0222222,  r Cash Award ,20070701  ,20070703  ,ded  ,                          00000000023509  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:09:31,
    EMPL ,0233333,   Cash Award ,20070801  ,20070831  ,df  ,                          00000000044057  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:10:56,
    EMPL ,0244444,   Cash Award ,20080101  ,20080111  ,sf  ,                          00000000026717  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:08:29,
    BTRL ,   5140, 
    When i tested the scenario and monitored it using MDT in CC monitoring tool its giving me below mentioned error.
    The XML page cannot be displayed
    Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
    XML document must have a top level element. Error processing resource 'http://myurlname/mdt/me...
    However if i change the occurence of DATA as some specific value for eg 4 instead of * it works fine.
    Kindly help me in solving this problem.
    Thanks,
    Aditya Verma

    Hi Madan,
    Thanks a lot for giving me the way to this. But when i tested this with the below file its giving me the same error. Please let me know if i need to do any changes to the parameters mentioned above:-
    ADSE ,ASDA,Sha  replan Fr ont Feed Contact ,2  0080509 0 8:43:25   ,        
    EMPL ,0011111,   Cash Top Up ,20080401  ,20080430  ,TPV  ,                          00000000431250  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:07:35,
    EMPL ,0222222,   r Cash Award ,20070701  ,20070703  ,TPV  ,                          00000000023509  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:09:31,
    EMPL ,0233333,  r Cash Award ,20070801  ,20070831  ,TPV  ,                          00000000044057  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:10:56,
    EMPL ,0244444,   Cash Award ,20080101  ,20080111  ,TPV  ,                          00000000026717  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:08:29,
    EMPL ,0255555,   Cash Award ,20080301  ,20080320  ,TPV  ,                          00000000027870  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:08:25,
    EMPL ,0266666,   Cash Award ,20071001  ,20071020  ,TPV  ,                          00000000020681  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:09:31,
    EMPL ,0877777,   Cash Top Up ,20080401  ,20080430  ,TPV  ,                          00000000036000  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:07:05,
    EMPL ,0888888,   Leaver Cash Award ,20071201  ,20071231  ,TPV  ,                          00000000157200  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:11:29,
    EMPL ,0899999,  S Leaver Cash Award ,20080301  ,20080331  ,TPV  ,                          00000000153530  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:07:42,
    EMPL ,0800000,  S Leaver Cash Award ,20070701  ,20070731  ,TPV  ,                          00000000012234  ,2007                                    ,  ,  ,  ,  ,  ,20080414  18:08:34,
    BTRL ,   5140,
    This the original csv file which i'll get in live. Kindly suggest as ur solution worked with other file but not working with this scv file.
    Thanks a lot,
    Aditya.

  • Error while sending Excel attachment thro FM 'SO_NEW_DOCUMENT_ATT_SEND_API1

    Experts:
    I am working on sending Excel as an email attachment thro the function module 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    I am able to send mail successfully but I face the following two issues while opening the attachment.
    1. While opening it says 'un recognized format' , on pressing 'OK' it opens the excel file.
    2. The column heading (first row) which should be in Korean character is displayed in junk char. I tried to
        specify the unicode (Code Page = '8500')  but does not know how to do it.
        I am reading the column header text from standard text.
    Please let me know what mistake I have commited in my code and where I should specify the unicode transformation. I refered many samples but could not make it.
    Please let me know the error.
    The code is as follows.
    FORM sendemail_barcodedata.
      TYPE-POOLS: truxs.
      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: objbin1 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_sent_to_all  TYPE sonv-flag.
    * Creating the document to be sent
    * File Name
      doc_chng-obj_name  = 'BCODEINFO'.
    * Mail Subject
      doc_chng-obj_descr = 'Delivery Barcode Information'.
    * Mail Content
      objtxt = 'Hi:'.
      APPEND objtxt.
      objtxt = 'Find attached,  Delivery Barcode Information'.
      APPEND objtxt.
      CONCATENATE 'Attachment : <<' w_fname1 '>>' INTO objtxt.
      APPEND objtxt.
      DESCRIBE TABLE objtxt LINES tab_lines.
      READ TABLE objtxt INDEX tab_lines.
      doc_chng-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
      doc_chng-obj_langu = sy-langu.
      doc_chng-sensitivty = 'F'.
    * Creating 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.
    * Creating the document attachment
    * Get column names for Barcode Data
      CLEAR objbin.
      CONCATENATE text-h23
                  text-h24
                  text-h25
                  text-h26
                  text-h27
                  INTO  objbin  SEPARATED BY con_tab .
      CONCATENATE objbin con_cret INTO objbin.
      APPEND objbin.
      CLEAR objbin.
      LOOP AT it_excel2 INTO wa_excel2.
        CONCATENATE wa_excel2-zz_date
                    wa_excel2-zz_delivery
                    wa_excel2-zz_barcode
                    wa_excel2-blank1
                    wa_excel2-blank2
                    INTO objbin  SEPARATED BY con_tab.
        CONCATENATE objbin con_cret INTO objbin.
        APPEND objbin.
        CLEAR objbin.
      ENDLOOP.
      DESCRIBE TABLE objbin LINES tab_lines.
      objhead = w_fname1.
      APPEND objhead.
    * Creating 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   = 'XLS'.
      objpack-obj_name   = 'Barcode Information'.
      objpack-obj_descr  = 'Barcode Information'.
      objpack-doc_size   = tab_lines * 255.
      APPEND objpack.
    * Entering names in the distribution list
      reclist-receiver = p_email.
      reclist-rec_type = 'U'.
      APPEND reclist.
    * Sending the document
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = doc_chng
          put_in_outbox              = ' '
          commit_work                = 'X'
        IMPORTING
         sent_to_all                 = l_sent_to_all
        TABLES
          packing_list               = objpack
          object_header              = objhead
          contents_bin               = objbin
          contents_txt               = objtxt
          receivers                  = reclist
        EXCEPTIONS
          too_many_receivers         = 1
          document_not_sent          = 2
          document_type_not_exist    = 3
          operation_no_authorization = 4
          parameter_error            = 5
          x_error                    = 6
          enqueue_error              = 7
          OTHERS                     = 8.
      CASE sy-subrc.
        WHEN 0.
          MESSAGE i000(z65f_msgclass) WITH text-211.
        WHEN 1.
          WRITE: / 'no authorization to send to the specified number of'.
        WHEN 2.
          WRITE: / 'document could not be sent to any of the recipients!'.
        WHEN 4.
          WRITE: / 'no authorization to send !'.
        WHEN OTHERS.
          WRITE: / 'error occurred during sending !'.
      ENDCASE.
    ENDFORM.                 
    Thanks in advance.
    Regards
    Vijai

    Hi:
    Can any one provide me a solution for this?
    regards
    vijai

  • Problem while sending Abap list to mail in the background

    Hi all,
    I am sending abap list to email in the background.
    My code as folllows:
    DATA: so_ali LIKE solisti1 OCCURS 100 WITH HEADER LINE.
      DATA: listobject LIKE abaplist OCCURS 0 WITH HEADER LINE.
      DATA: objpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
      DATA: objhead LIKE solisti1 OCCURS 1 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: lt_user TYPE soud3 OCCURS 0 WITH HEADER LINE.
    *Start of modification Tix 14411 for transport request D82K929044
      DATA: it_user like SODLIENTI1 occurs 0 with header line.
    *End of modification for Tix 14411 for transport request D82K929044
    CLEAR: listobject, so_ali, objpack, objhead, objtxt, reclist, doc_chng.
      REFRESH :
         listobject, so_ali, objpack, objhead, objtxt, reclist.
    creation of the document to be sent
      doc_chng-obj_name = 'BOFAREPORT'.
      WRITE sy-datum TO doc_chng-obj_descr.
      CONCATENATE 'Bank Activity Report for :'(025)
              company_itab_tr-company_code '-' doc_chng-obj_descr INTO
              doc_chng-obj_descr.                               "AN052799
      objtxt = 'This is the bank activity report received for'(026).
      APPEND objtxt.
      CONCATENATE company_itab_tr-company_code '-'
                  company_itab_tr-company_name '-'
                  company_itab_tr-company_city INTO
                  objtxt.
      APPEND objtxt.
      WRITE sy-datum TO objtxt.
      CONCATENATE 'Date Received : '(027) objtxt INTO objtxt.
      APPEND objtxt.
      WRITE sy-uzeit TO objtxt.
      CONCATENATE 'Time Received : '(028) objtxt INTO objtxt.
      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
      CALL FUNCTION 'SAVE_LIST'
        EXPORTING
          list_index         = '0'
        TABLES
          listobject         = listobject
        EXCEPTIONS
          list_index_invalid = 1
          OTHERS             = 2.
      CALL FUNCTION 'TABLE_COMPRESS'       "Schneller Tabellencopy
           TABLES
                in         = listobject
                out        = so_ali.
      DESCRIBE TABLE so_ali LINES tab_lines. "objbin
      objhead = 'BOFA-REPORT'. 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 = 'ALI'.
      objpack-obj_name = 'BOFAREPORT'.
      objpack-obj_descr = 'Bank Activity Report'.
      objpack-doc_size = tab_lines * 255.
      APPEND objpack.
    Completing the recipient list
      SELECT * FROM zwfi_yefap_paypr WHERE
                           bukrs = company_itab_tr-company_code.
        IF NOT  ( zwfi_yefap_paypr-list1 IS INITIAL ).
          clear it_user[].
          CALL FUNCTION 'SO_DLI_READ_API1'
           EXPORTING
             DLI_NAME                         = zwfi_yefap_paypr-list1
          DLI_ID                           = ' '
             SHARED_DLI                       = 'X'
        IMPORTING
          DLI_DATA                         =
           TABLES
             DLI_ENTRIES                      = it_user
           EXCEPTIONS
             DLI_NOT_EXIST                    = 1
             OPERATION_NO_AUTHORIZATION       = 2
             PARAMETER_ERROR                  = 3
             X_ERROR                          = 4
             OTHERS                           = 5
          IF SY-SUBRC = 0.
            loop at it_user.
              if it_user-member_typ = 'A'.
                reclist-receiver = it_user-member_adr.
                reclist-rec_type = 'U'.
                reclist-com_type = 'INT'.
                reclist-notif_del = 'X'.
                reclist-notif_ndel = 'X'.
                append reclist.
              elseif it_user-member_typ = ''.
                reclist-receiver = it_user-member_nam.
                reclist-rec_type = 'B'.
                reclist-express = 'X'.
                append reclist.
              Endif.
            endloop.
          ENDIF.
        ENDIF.
        IF NOT ( zwfi_yefap_paypr-list2 IS INITIAL ).
          clear it_user[].
          CALL FUNCTION 'SO_DLI_READ_API1'
           EXPORTING
             DLI_NAME                         = zwfi_yefap_paypr-list2
          DLI_ID                           = ' '
             SHARED_DLI                       = 'X'
        IMPORTING
          DLI_DATA                         =
           TABLES
             DLI_ENTRIES                      = it_user
           EXCEPTIONS
             DLI_NOT_EXIST                    = 1
             OPERATION_NO_AUTHORIZATION       = 2
             PARAMETER_ERROR                  = 3
             X_ERROR                          = 4
             OTHERS                           = 5
          IF SY-SUBRC = 0.
            loop at it_user.
              if it_user-member_typ = 'A'.
                reclist-receiver = it_user-member_adr.
                reclist-rec_type = 'U'.
                reclist-com_type = 'INT'.
                reclist-notif_del = 'X'.
                reclist-notif_ndel = 'X'.
                append reclist.
              elseif it_user-member_typ = ''.
                reclist-receiver = it_user-member_nam.
                reclist-rec_type = 'B'.
                reclist-express = 'X'.
                append reclist.
              Endif.
            endloop.
          ENDIF.
        endif.
      ENDSELECT.
      CLEAR error_text.
    Sending the document
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = doc_chng
          put_in_outbox              = 'X'
          COMMIT_WORK                = 'X'
       TABLES
          packing_list               = objpack
          object_header              = objhead
          contents_bin               = so_ali  "objbin
          contents_txt               = objtxt
          receivers                  = reclist
        EXCEPTIONS
          too_many_receivers         = 1
          document_not_sent          = 2
          operation_no_authorization = 4
          OTHERS                     = 99.
      CASE sy-subrc.
        WHEN 0.
          write: / 'Result of the send process:'.
          LOOP AT reclist.
            write: / reclist-receiver(48), ':'.
            IF reclist-retrn_code <> 0.
              write 'The document was sent'.
            else.
              CONCATENATE 'The document could not be sent to : '(029)
                         reclist-receiver(48) INTO error_text.
            ENDIF.
          ENDLOOP.
        WHEN 1.
          error_text = text-030.
        WHEN 2.
          error_text = 'Document could not be sent to any recipient'(031).
        WHEN 4.
          error_text = 'No send authorization'(032).
        WHEN OTHERS.
          error_text = 'Error occurred while sending'(033).
      ENDCASE.
      IF NOT ( error_text IS INITIAL ).
        CONCATENATE 'Mail send Error : '(034) error_text INTO error_text.
       PERFORM WRITE_LOG(YEFAP_APERAK) USING ERROR_TEXT.
        PERFORM write_log(zwfi_yefap_bank_report) USING error_text.
      ENDIF.
      CALL FUNCTION 'LIST_FREE_MEMORY'
        TABLES
          listobject = listobject
        EXCEPTIONS
          OTHERS     = 1.
    When I excute the same program in the foreground, Attachment in the mail is showing all the pages of the report output.
    But when I excute the same program in the background only last page is shown in the mail attachemnt.
    I think the problem is with the function module SAVE_LIST function module.
    I replaced the SAVE_LIST function module with  LIST_TO_MEMORY and LIST_FROM_MEMORY function modules.
    It is also giving the same result.
    In the foreground excution email attachemnt showing all the pages and in the background excution only last page is shown in the attachemnt.
    I want all the pages dispalyed in the background mode excution in the email attachment.
    How to slove this issue.
    Thanks in advance.
    Raja

    I have seen this problem before.   Please have a look at this example program.  This works very well when ran in background as well as foreground
    * This program works in the background,
    report zrich_0003 .
    data: maildata like sodocchgi1.
    data: mailtxt like solisti1 occurs 10 with header line.
    data: mailrec like somlrec90 occurs 0 with header line.
    data: list type table of abaplist with header line.
    data: ascilines(1024) type c occurs 0 with header line.
    data: htmllines type table of w3html with header line.
    parameters: p_check.
    start-of-selection.
      submit zrich_0004 exporting list to memory and return.
      call function 'LIST_FROM_MEMORY'
           tables
                listobject = list
           exceptions
                not_found  = 1
                others     = 2.
      call function 'LIST_TO_ASCI'
           tables
                listobject         = list
                listasci           = ascilines
           exceptions
                empty_list         = 1
                list_index_invalid = 2
                others             = 3.
      call function 'WWW_HTML_FROM_LISTOBJECT'
           tables
                html       = htmllines
                listobject = list.
      clear: maildata, mailtxt, mailrec.
      refresh: mailtxt, mailrec.
      maildata-obj_name = 'TEST'.
      maildata-obj_descr = 'Test Subject'.
      loop at htmllines.
        mailtxt = htmllines.
        append mailtxt.
      endloop.
      mailrec-receiver = '[email protected]'.
      mailrec-rec_type = 'U'.
      append mailrec.
      call function 'SO_NEW_DOCUMENT_SEND_API1'
           exporting
                document_data              = maildata
                document_type              = 'HTM'
                put_in_outbox              = 'X'
           tables
                object_header              = mailtxt
                object_content             = mailtxt
                receivers                  = mailrec
           exceptions
                too_many_receivers         = 1
                document_not_sent          = 2
                document_type_not_exist    = 3
                operation_no_authorization = 4
                parameter_error            = 5
                x_error                    = 6
                enqueue_error              = 7
                others                     = 8.
      if sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
      commit work.
      wait up to 2 seconds.
      submit rsconn01 with mode = 'INT'
                   with output = 'X'
                              and return.
    Regards,
    Rich Heilman

  • Problem while sending mail inOIM 11g r2 after usercreation

    Hi,
    By default OIM sends mail to user mail id when the user created. i have tested this scenario using test mail server, it is working fine . when i am trying this scenario using exchange mail server, it is throwing errors. for Exchange just i have changed IT resource parameters.
    Authentication      true
    Server Name      ip address of the Exchange server
    User Login      [email protected]
    User Password *************
    is there anything missing. for SMTP server is ums nedded ?.
    <Oct 1, 2012 7:07:51 AM EDT> <Error> <oracle.iam.notification.impl> <BEA-000000> <Provider UMSEmailServiceProvider has encountered exception : javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: Connection refused>
    <Oct 1, 2012 7:07:51 AM EDT> <Error> <oracle.iam.notification.impl> <BEA-000000> <Sending notification with Provider UMSEmailServiceProvider has encountered exception : Error occured while Sending Notification through Provider UMSEmailServiceProvider : javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: Connection refused>
    <Oct 1, 2012 7:07:51 AM EDT> <Error> <oracle.iam.notification.impl> <BEA-000000> <Sending notification with Provider UMSEmailServiceProvider detailed exception : javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: Connection refused>
    <Oct 1, 2012 7:07:52 AM EDT> <Error> <oracle.iam.notification.provider> <BEA-000000> <300>
    <Oct 1, 2012 7:07:52 AM EDT> <Error> <oracle.iam.notification.impl> <BEA-000000> <Provider SOAEmailServiceProvider has encountered exception : java.lang.IllegalArgumentException: 300>
    <Oct 1, 2012 7:07:52 AM EDT> <Error> <oracle.iam.notification.impl> <BEA-000000> <Sending notification with Provider SOAEmailServiceProvider has encountered exception : Error occured while Sending Notification through Provider SOAEmailServiceProvider : java.lang.IllegalArgumentException: 300>
    <Oct 1, 2012 7:07:52 AM EDT> <Error> <oracle.iam.notification.impl> <BEA-000000> <Sending notification with Provider SOAEmailServiceProvider detailed exception : java.lang.IllegalArgumentException: 300>
    <Oct 1, 2012 7:07:52 AM EDT> <Error> <oracle.iam.notification.impl> <BEA-000000> <Provider EmailServiceProvider has encountered exception : null>
    Thanks,

    Given below steps in oracle doc for UMS configuration. you can try the same
    Configuring UMS Provider for Sending Notifications (Optional)
    To configure Unified Messaging Service (UMS) provider for sending notifications:
    Edit the oim-config.xml file by using MBeans. To do so:
    Log in to Oracle Enterprise Manager.
    Navigate to Identity and Access, oim.
    Right-click oim(11.1.1.x.x), and select System MBean Browser.
    In the System MBean Browser, navigate to Application Defined MBeans, oracle.iam, Server: oim_server1, Application:oim, XMLConfig, Config, XMLConfig.NotificationConfig, EmailProvider.
    Click the EmailProvider attribute, and replace the value oracle.iam.notification.provider.EmailServiceProvider with oracle.iam.notification.provider.UMSEmailServiceProvider.
    Click Apply.
    Configure the Email Provider Instance - UMS IT resource with the UMS Web service details. To do so:
    Login to Oracle Identity Manager Administrative and User Console, and navigate to Advanced Administration.
    Click the Configuration tab, click Resource Management, and then click Manage IT Resource.
    Click Search. The list of IT resources is displayed.
    For the Email Provider Instance - UMS IT resource, click the Edit icon. The Edit IT Resource Details and Parameters page is displayed.
    Specify values in the following fields:
    Web service URL: The URL of the UMS web service to be invoked. For example, http://<SOA_host>:<SOA_Port>/ucs/messaging/webservice.
    Policies: The OWSM policy attached to the given web service. Leave this field as blank.
    Username: The username provided in the security header. If no policy is attached, then leave this field as blank.
    Password: The password provided in the security header. If no policy is attached, then leave this field as blank.
    Click Apply, and then close the popup window.
    Configure UMS Server for using a mail server other than the local LINUX mail server, which is picked by default. For example, to setup the mail server to use stbeehive email server:
    Stop the Linux Local sendmail email server running on the host, if this is a LINUX host, by running the following command:
    /usr/local/redhat/packages/aime/ias/run_as_root "/sbin/service sendmail stop"
    Configure Mail Server information in UMS Email Driver. To do so:
    i. Login to Oracle Enterprise Manager.
    ii. Expand User Messaging Service, and select usermessagingdriver-email (soa_server1).
    iii. From the Driver-Specific Configuration list, select Email Driver Properties.
    iv. Configure the following mandatory fields:
    OutgoingMailServer: The name of the SMTP server, for example, mailserver.mycompany.com.
    OutgoingMailServerPort: The port number of the SMTP server, for example, 465.
    OutgoingMailServerSecurity: The security setting used by the SMTP server. Possible values can be None, TLS, or SSL.
    OutgoingUsername: Any valid username similar to your mail client configuration, such as in the [email protected].
    OutgoingPassword: The password used for SMTP authentication. This consists of the following fields:
    Type of Password: Select Indirect Password, Create New User.
    Indirect Username/Key: Enter a unique string, for example, OIMEmailConfig. This masks the password and does not expose it in clear text in the configuration file.
    Password: Enter a valid password for this account.
    v. Click Apply.
    Right-click usermessagingdriver-email (soa_server1), and select Control, Shutdown.
    Allow at least 2 minutes to pass, after which you can restart the email driver. To so so, right-click usermessagingdriver-email (soa_server1), and select Control, Restart.

  • Problem with Sending files over Sockets

    Hi. I have a problem when I try to send files over sockets. When I send text files it works well but when I try to send .jpg or other kind of files it doesn't work well because some characters are wrong, I hope you can help me.
    Here is my code:
    //Sender code
    import java.io.*;
    import java.net.*;
    class Servidor{
         Servidor(){
              try{
                   String arch="art.jpg";
                   ServerSocket serv=new ServerSocket(125);
                   Socket socket=serv.accept();
                   System.out.println("Conectado");
                   int c;
                   BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
                   FileInputStream fis=new FileInputStream(arch);
                   File f=new File(arch);
                   bw.write(""+f.length());
                   bw.newLine();
                   bw.flush();
                   System.out.println("Escribiendo");
                   while((c=fis.read())!=-1){
                        bw.write(c);
                   bw.flush();
                   fis.close();
                   System.out.println("Terminado");
                   while(true){
              }catch(Exception e){
                   System.out.println(e);
         public static void main(String arg[]){
              new Servidor();
    //Client code
    import java.io.*;
    import java.net.*;
    class Cliente{
         Cliente(){
              try{
                   Socket socket=new Socket("localhost",125);
                   System.out.println("Conectado");
                   BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
                   long tam=Long.parseLong(br.readLine());
                   long act=0;
                   FileOutputStream fos=new FileOutputStream("resp.jpg");
                   System.out.println("Recibiendo: "+tam);
                   while(act<tam){
                        fos.write(br.read());
                        act++;
                   System.out.println("Terminado: "+act+" / "+tam);
                   fos.close();
              }catch(Exception e){
                   System.out.println(e);
         public static void main(String arg[]){
              new Cliente();
    }

    I don't think you want BufferedReader and OutputStreamWriter, you want ByteArrayOutputStream and ByteArrayInputStream . The problem is that you are sending jpegs (binary data) as text.

Maybe you are looking for

  • Please answer a programming question for an admin

    I'm not a programmer (although my interest is growing), so I can't answer this question in a discussion regarding how Win32API w/OLE and COM is SO much better than programming for Unix/OS X applications. The original discussion was in regards to OS X

  • Multiple preferred languages in my Profile (or uns...

    A great feature in ones personal "Profile" would be to allow for adding languages. If needed, one could still be "preferred" (and the rest alternatives).  I understand that the extra fields (in your database) and extra programming effort can be a rea

  • Firefox keeps trying to be window on top

    Often firefox tries to overide the current on top application window covering the current window open making it impossible to read. Each time I have to click on the applications tab to get it to display on top again. It is incredibly annoying as it c

  • Problem With installing Photoshop CC (error 46)

    I've installed CC 2 days ago and if I try to download Photoshop there's an error (46). How can I download Photoshop without having this problem?

  • Adobe CS6 multiple displays problem

    In three of the CS apps I constantly use the extended panels snap ontop of my workspace once i switch between applications. The options discribed on other boards to turn off rearrangement of spaces in Mission Control OS X 10.9 does not help. Anyone g