Regarding mail adapter

hi
  i am receving the error msg from receiver..hw could i send the error msg to mail adapter to send a mail...
i know hw to config mailadapter..but i want how the error msg are captured..
if any blog is available..
plz reply to me.
thx in advance

Use BPM and this OSS Note:
https://service.sap.com/sap/support/notes/748024
See also : http://help.sap.com/saphelp_erp2004/helpdata/en/80/942f3ffed33d67e10000000a114084/frameset.htm

Similar Messages

  • Regarding Receiver Mail adapter.

    Hi experts,
    iam looking at one off the weblog whick  Michal Krawczyk have created.
    /people/michal.krawczyk2/blog/2005/03/07/mail-adapter-xi--how-to-implement-dynamic-mail-address
    in this weblog michal have told to download the XSD file from service market place  and upload it in IR External definition it gives us target structure.What is the use off it, we can directly create the target structure.
    And also one more dought what is the use off checking parameter in mail Attributes use mail package.I dont have much knowledge on mail adapter please help me in this issue.
    i want to send parameters dynamically into receiver mail adapter in my project ie(TO,FROM,SUB and CONTENT) please send links and doc's on it.
    Note: Helpfull answer will be rewarded.
    Thanks & regards,
    Phani

    Hi raj,
    Once again thanks for the reply,I will explain my object,its is any 2 senarios in one object.
    1) file to proxy were i upload employee details in to infotype2010 after inserting what ever error records i will l store them in error table.
    2)ater geting error records if i get more then 25 i have to send file path and error records to receiver side. or if i get all sucess also i have 2 send sucess flag into receiver side.
    but i haveto pick data from different systems and i have to send the data into different mail ids i have to generate TO FROM CONTENT dynamically.
    onsite have prepared TS(Tecnical specs) in that spec they gave XIALL and SMTP.
    so my question is using this parameters can i post them dynamically or  not.
    if YES ? then how??
    please help me in this issue.
    if u still dont understand give me ur id  i will send my TS.
    Thanks and regards,
    phani

  • Regarding Receiver Mail Adapter Attachments formats

    Hi Xians,
    when we configure Receiver Mail Adapter, we get the payload as Attachments in XML format. Does it support any other format apart from xml like text, pdf etc
    Regards,
    Varun

    Rajesh wrote:
    Yes it supports all you need to do for conversion is to use MessageTransform Bean in adapter modules
    and use parameter contentDispositon and contentDescirption things for setting different formats
    Hi Rajesh,
       Thanks for your reply. Can you please provide relevant blogs or any other docs on the same
    Regards,
    Varun

  • Sender Mail Adapter

    Hi,
      I am working on Sender Mail Adapter. I have done the total configuration but unable to sucess the scenarios. In the CC monitoring, it is saying that "Not Intialised" Even though i send and receive the messages from My Lotus Notes Inbox. I activated all the objects.
    I have done the following examples:
    Transport Protocal: POP3
    Message Protocal: XIALL
    Given the URL and UserId and PWD also
    Poll Intevel: 1 (Mins)
    Adapter Status: Active
    Please help to me solve this problem. I already raised the one more thread today but didn't get solutions.
    <b>Note: Do i need to do any setting from the Lotus notes(Mail Server) to diver my messages.</b>
    Thanks in Advance,
    <b>I found the problem with SMTP Address. Can i use the SMTP Url for POP3 or IMP4 protocal. Is there any thing else because if i use the Same SMTP Address, it is giving exception</b>
    Best Regards,
    Vijay
    Message was edited by:
            Gangisetty Vijaya Bhaskarudu
    Message was edited by:
            Gangisetty Vijaya Bhaskarudu

    Hi Gangisetty,
        SMTP is the out going server(for sending mails out) while POP3 is the in coming(receiving mails) server. So for a sender channel, you need to use the POP server details not SMTP.
    cheers
    danus

  • Sender Mail Adapter Configuration - Process Multiple Attachments

    Dear sirs,
    I need to process several attachments at the same mail message as individual payloads.
    In default configuration of sender mail adapter only the body of message is used as payload.
    So I added PayloadSwapBean Module at Processing Sequence and it processed the attachment I set in Module Configuration.  I'm not able to process all attachments available, just one attachment is sent to PI pipeline.
    How can I process all attachments of a single mail message?
    Thank you in advance.
    Fabio Purcino

    Hi Jose,
    We are trying to implement reading multiple attachment in sender mail adapter. 
    Our Requirement is : Reading a mail having multiple .xls files. This should be read and converted to payload .
    package multiswap;
    //import com.sap.aii.adapter.xi.ms.XIMessage;
    import com.sap.aii.af.lib.mp.module.*;
    import com.sap.aii.af.lib.trace.Trace;
    import com.sap.aii.af.sdk.xi.mo.Message;
    import com.sap.aii.af.sdk.xi.mo.MessageContext;
    import com.sap.aii.af.sdk.xi.mo.xmb.XMBMessageOperator;
    import com.sap.aii.af.sdk.xi.mo.xmb.XMBPayload;
    import com.sap.aii.af.sdk.xi.util.PayloadType;
    import com.sap.aii.af.service.auditlog.Audit;
    import com.sap.aii.af.service.cpa.*;
    import com.sap.engine.interfaces.messaging.api.MessageDirection;
    import com.sap.engine.interfaces.messaging.api.MessageKey;
    import com.sap.engine.interfaces.messaging.api.Payload;
    import com.sap.engine.interfaces.messaging.api.auditlog.AuditLogStatus;
    import java.util.Hashtable;
    import java.util.Iterator;
    import java.util.Locale;
    import javax.ejb.*;
    public class MultiSwapRead
        implements SessionBean, Module
        private static final String VERSION_ID = "$Id: //tc/xpi.af/NW731EXT_07_REL/src/_af_application_ejb_module/ejbm/api/com/sap" +
    "/aii/af/app/modules/PayloadSwapBean.java#1 $"
        private static final Trace TRACE = new Trace("$Id: //tc/xpi.af/NW731EXT_07_REL/src/_af_application_ejb_module/ejbm/api/com/sap" +
    "/aii/af/app/modules/PayloadSwapBean.java#1 $"
        private static final String SIGNATURE_PROCESS = "process(ModuleContext , ModuleData)";
        protected Hashtable cachedChannels;
        protected SessionContext myContext;
        public MultiSwapRead()
            cachedChannels = new Hashtable();
        public void ejbRemove()
        public void ejbActivate()
        public void ejbPassivate()
        public void setSessionContext(SessionContext context)
            myContext = context;
        public void ejbCreate()
            throws CreateException
        public ModuleData process(ModuleContext moduleContext, ModuleData inputModuleData)
            throws ModuleException
            if(TRACE.beLogged(200))
                TRACE.entering("process(ModuleContext , ModuleData)", new Object[] {
                    moduleContext, inputModuleData
            ModuleData outputModuleData;
            Iterator itr;
            outputModuleData = inputModuleData;
            String chid = moduleContext.getChannelID();
            TRACE.infoT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, (new StringBuilder()).append("performing payload swap for channel ").append(chid).toString());
            LookupManager lman = LookupManager.getInstance();
            Channel chan = null;
      try {
      chan = (Channel)LookupManager.getInstance().getCPAObject(CPAObjectType.CHANNEL, chid);
      } catch (CPAObjectNotFoundException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
      } catch (CPAException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
            Direction direction = chan.getDirection();
            String swapkey = moduleContext.getContextData("swap.keyName");
            String keyvalue = moduleContext.getContextData("swap.keyValue");
            Object obj = inputModuleData.getPrincipalData();
            Object pivotedObj = inputModuleData.getSupplementalData("mp.pivoted");
            boolean pivoted = pivotedObj == null || !(pivotedObj instanceof Boolean) ? false : ((Boolean)pivotedObj).booleanValue();
            Message mo = null;
            if(obj instanceof com.sap.engine.interfaces.messaging.api.Message)
                mo = (Message)((com.sap.engine.interfaces.messaging.api.Message)obj);
            } else
            if(obj instanceof MessageContext)
                mo = ((MessageContext)obj).getMessage();
            } else
                TRACE.warningT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, "no message found");
            if(mo != null && XMBMessageOperator.numberOfPayloads(mo) > 0)
               // String midstr = XMBMessageOperator.getMessageId(mo).toString();
                MessageKey auditkey = new MessageKey(((com.sap.engine.interfaces.messaging.api.Message) mo).getMessageId(), com.sap.engine.interfaces.messaging.api.MessageDirection.INBOUND);
                itr = (Iterator) mo.getAttachments();
                if(swapkey != null && keyvalue != null)
                    StringBuffer textSwappingbyBuf = new StringBuffer();
                    textSwappingbyBuf.append("Swap: swapping by '").append(swapkey).append("' ? '").append(keyvalue).append("'");
                    String textSwappingby = textSwappingbyBuf.toString();
                    TRACE.infoT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, textSwappingby);
                    Audit.addAuditLogEntry(auditkey, AuditLogStatus.SUCCESS, textSwappingby);
                   while (itr.hasNext()){
                    boolean swappedp = swapPayloads(mo, swapkey, keyvalue);
                    String swappedStatus = swappedp ? "Swap: successfully swapped" : "Swap: no matching payload found";
                    Audit.addAuditLogEntry(auditkey, AuditLogStatus.SUCCESS, swappedStatus);
                } else
                    StringBuffer textInvalidBuf = new StringBuffer();
                    textInvalidBuf.append("Swap: parameter missing ");
                    if(swapkey == null)
                        textInvalidBuf.append("swap.keyName");
                    if(swapkey == null && keyvalue == null)
                        textInvalidBuf.append(" and ");
                    if(keyvalue == null)
                        textInvalidBuf.append("swap.keyValue");
                    String textInvalid = textInvalidBuf.toString();
                    TRACE.warningT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, textInvalid);
                    Audit.addAuditLogEntry(auditkey, AuditLogStatus.WARNING, textInvalid);
            } else
                String messageEmpty = "Swap: message is empty or has no payload";
                TRACE.infoT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, messageEmpty);
            return outputModuleData;
        private static boolean swapPayloads(Message mo, String swapkey, String keyvalue)
            swapkey = swapkey.toUpperCase(Locale.ENGLISH);
            keyvalue = keyvalue.toUpperCase(Locale.ENGLISH);
            int ifound = -1;
            for(int i = 0; i < XMBMessageOperator.numberOfPayloads(mo); i++)
                XMBPayload pldi = XMBMessageOperator.getPayload(mo, i);
                String pldivalue = null;
                if(swapkey.equals("PAYLOAD-DESCRIPTION"))
                    pldivalue = pldi.getPayloadDescription();
                } else
                if(swapkey.equals("PAYLOAD-NAME"))
                    pldivalue = pldi.getPayloadName();
                } else
                    pldivalue = pldi.getContentAttribute(swapkey);
                if(pldivalue == null)
                    continue;
                pldivalue = pldivalue.toUpperCase(Locale.ENGLISH);
                if(pldivalue.indexOf(keyvalue) < 0)
                    continue;
                ifound = i;
                break;
            if(ifound >= 0)
                XMBPayload pldfound = XMBMessageOperator.getPayload(mo, ifound);
                if(pldfound.getPayloadType() != PayloadType.APPLICATION)
                    XMBPayload pldapp = XMBMessageOperator.getApplicationPayload(mo);
                    if(pldapp == null)
                        pldfound.setPayloadType(PayloadType.APPLICATION);
                    } else
                        pldapp.setPayloadType(PayloadType.APPLICATION_ATTACHMENT);
                        pldfound.setPayloadType(PayloadType.APPLICATION);
                    TRACE.infoT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, "successfully swapped");
                return true;
            } else
                TRACE.warningT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, "no matching found");
                return false;
    We couldn't go further. Please have a look in highlighted code.
    Regards,
    Kesava.

  • Sender Mail Adapter, technical Acknowledgement

    Hi all,
    I have a SMTP --> XI --> Proxy Scenario. For the inbound message I get via SMTP, I'd like to send a technical acknowledgement back to the Sender (via SMTP, too). The acknowledgement has a specific message structure, for example it contains the DocumentID of the inbound message I get via SMTP.
    My idea now is: Within ReceiverDetermination, I configure two receivers:
    1. Backend system for the Inbound Proxy
    2. original Sender System
    Within Interface Determination, I'll do 2 mappings:
    1. Mapping from source message to ABAP proxy interface
    2. Mapping from source message to technical acknowledgement structure
    Then, receiver agreements / receiver communication channels for both interfaces.
    My question now is: is there a more elegant solution then doing the scenario like described above? Maybe something I can do in the Sender Mail Adapter to create the specific technical acknowledgement and sent it back to the sending application?
    Best regards
    Holger

    Hi Holger !
    XI supported acks are not available for your scenariom because the smtp/mail sender cannot request it.
    http://help.sap.com/saphelp_nw04s/helpdata/en/f4/8620c6b58c422c960c53f3ed71b432/frameset.htm
    You should create some kind of artificial ack, that should be part of your own protocol. What I meant with the SYNC proxy, is to use its response message as your own defined ack, because it is not supported as is.
    If you call your proxy async, then you will not receive any feedback to use it as ack info.
    Another idea could be to forget the ack per se, and just use define an alert in case of problems with the scenario to send a mail to the specified users.
    Regards,
    Matias

  • Sender Mail adapter configuration with attachment

    Hi,
    I read the below blog regarding the mail adapter
    /people/michal.krawczyk2/blog/2005/12/18/xi-sender-mail-adapter--payloadswapbean--step-by-step
    I have the same requirement but the attachment file is not an XML, it is CSV file so in the module tab if I change like below is it enough?
    TRANSFORM    swap.keyValue  attachment; filename=u201DMailAttachment-1.csvu201D     (I think MailAttachment-1 is the file name, am I correct?)
    If I change like above is it ok? or any other thing is required, Could you please give me the inputs
    Thanks
    Ramesh

    I have the same requirement but the attachment file is not an XML, it is CSV file so in the module tab if I change like below is
    it enough?
    PayloadSwapBean will ensure that the input to the mapping is from the attachment.....in the blog the attachment is in XML format and hence there was no need for any conversion.....yours is however a CSV file so you need to convert it to XML first and then do the further processing.....you can either use the MessageTransformationBean as shown in this blog:
    /people/gabrielsagayaselvam.panneerselvam/blog/2009/08/31/solve-key-field-problem-using-structplain2xml-in-messagetransformationbean
    Or write your own module code for the conversion.
    Regards,
    Abhishek.

  • Sender mail Adapter - Log in Error

    Hi,
    I am facing the below error while communicating with the mail server using the POP3 transport protocol.
    exception caught during processing mail message; java.io.IOException: unexpected password response; read -ERR Logon failure: unknown user name or bad password.
    Confimed with  the mail server administrator there is no issue with log in credentials.
    We are able to access the mail box using the same user ID & password through webservice URL. But if we use the same User ID & password in communication channel it is showing the above error.
    Any one have the idea about other possibilities to get this error?
    Thanks & regards,
    Krishna

    Hi Vijay,
    It is POP3 protocol setup. We are able to login using webservise URL. But not able to log in with Mail adapter.
    Regards,
    Krishna

  • How to determine the protocol to use in Sender mail Adapter ?

    Hi All
    Can i use my Microsoft Exhange Server address while configuring Sender Mail Adapter .? If yes , then which protocol i can use out of IMAP and POP ?..
    How do i determine which protocol i should use to connect to my exchange server ?
    Thanks
    rohan

    Hi Rohan,
    //Can i use my Microsoft Exhange Server address while configuring Sender Mail Adapter .?
    Yes, you can.
    //If yes , then which protocol i can use out of IMAP and POP ?..
    You can use either of them. To know more on IMAP and POP, i would suggest you go through these links,
    http://www.trincoll.edu/depts/cc/documentation/email/IMAP_vs_POP/default.htm
    http://www.imap.org/papers/imap.vs.pop.brief.html
    If your are using IMAP, you will have to specify, which folder from which you wnaty the emmail to be retrived, this is not needed for POP.
    Hope this helps,
    Regards,
    bhavesh

  • Dynamic file name of the attachment in sender mail adapter

    Hi
    I have configured a sender mail adapter which receives some attachments.
    Right now the file name of the attachment is hardcoded to "MailAttachment-1" "MailAttachment-2" using the content-description from "AF_Modules/PayloadSwapBean" module.
    I want to set it to dynamic ie. instead of "MailAttachment-1"... i want it with real name of the attach.
    please suggest a solution w/o the need to develop a custom adapter module.
    Thanks!
    Regards,
    Mariano.

    Thanks Prateek,
    Now, i can see that the name of the original file is into the content type named as  text/xml; name"name of the file.xml" when i send the email from outlook.
    If i send it from hotmail, this is not happend.
    Do you know why happend this?
    If i always would have the original name inside the content type, my problem will be solved.
    Edited by: Mariano Vidal on Feb 13, 2009 2:26 PM

  • How to download / read  text attachment  in Sender Mail Adapter  IN XI

    Hi
    I would like to know how to download / read text attachment in sender mail Adapter & sent same attachment to target system using file adapter.
    Please help how to design / resolve this concept.
    Regards
    DSR

    I would like to know how to download / read text attachment in sender mail Adapter & sent same
    attachment to target system using file adapter.
    Take help from this blog:
    /people/michal.krawczyk2/blog/2005/12/18/xi-sender-mail-adapter--payloadswapbean--step-by-step
    From the blog:
    However in most cases
    our message will not be a part of the e-mail's payload but will be sent as a file attachment.
    Can XI's mail adapter handle such scenarios? Sure it can but with a little help
    from the PayloadSwapBean adapter module
    Once your message (attachment) is read by the sender CC, you can perform the basic mapping requirement (if any) to convert the mail message fromat to the file format.....configure a receiver FILE CC and send the message...this should be the design...
    Regards,
    Abhishek.

  • How to handle Multiple attachments in sender Mail Adapter

    Hi,
         In our requirement is mutiple documents send through mail adapter, In custom java module we read the each document details and do it bussiness process. But now i am not able to read the multiple files at a time. we are able to read single file only. So plz give the solution for that.
    1) How to send multiple attachments(like word, PDF, JPG etc..) using mail apapter.
    2) How to read multiple attachments in custom java module.
    Thanks & Regards
    Vijay

    Hi Vijay,
    Go through this weblog this explains steps to multile attachments.
    /people/sravya.talanki2/blog/2006/01/12/xi-triggering-e-mails-with-multiple-attachments--problems
    Regards,
    Ashwin.

  • Non XML attachment to XML in sender mail adapter

    Hi,
    I am working with sender mail adapter and usng payloadswapbean. My attachment is non XML and I need to convert it in to XML in order to mapping. How can I do that? Can someone explain if can I use MessageTransformBean for this purpose and if so, how?
    Or any other method for doing this?
    Thanks,
    Rakesh

    Is the attachment in text format? If yes, then after the usage of PayloadSwapBean, you may try using MessageTransformBean in the same module chain. And you will be able to convert it into xml format.
    Regards,
    Prateek

  • Purpose of advanced properties in sender mail adapter

    helo all.
    hi i just wanna know the usage of
    delete messages once read
    generate fetch report
    security parameters SMIME
    Default XI parameters
                       under sender mail adapter.
    waiting for your great response.
    bye.
    regards.
    seeta ram.

    hi,
    <i>delete messages once read</i>
    If you have selected IMAP4 as the transport protocol, you can specify here whether the messages are to be deleted on the e-mail server after reading.
    You can then specify a Folder for Deleted Messages on the server.
    <i>generate fetch report</i>
    If you want to generate a report for every adapter poll procedure, set the indicator.
    An XI message with the following information is generated:
    Interface namespace: http://sap.com/xi/XI/Mail/30
    Interface Name: FetchReport
    <i>security parameters SMIME</i>
    If you want to decrypt and validate encrypted and digitally signed e-mails in the corresponding sender agreement in the Integration Server or in the PCK, set the S/MIME indicator.
    refer this for the same and more info
    http://help.sap.com/saphelp_nw70/helpdata/en/ae/d03341771b4c0de10000000a1550b0/frameset.htm

  • Setting CC field in Sender Mail Adapter

    Hi,
    I am on SP16, and using Sender Mail Adapter.
    I need to retrieve the CC field from the mail.
    I have set the <i>Adapter-Specific Message Attributes</i>. ie.
    Set <i>Adapter-Specific Message Attributes</i>, and <i>Variable Transport Binding</i> boxes are checked.
    When I do this, the Communication Channel does not throw any error, but the message is not visible in SXMB_MONI.
    How do I retrieve the CC field?
    Regards,
    Puloma.

    Hi Bhavesh,
    I was unable to view the Message Monitoring in RWB yesterday. Now I checked under the Message Monitoring tab, and I see the following error:
    SOAPFault received from Integration Server. ErrorCode/Category: XIProtocol/WRONG_VALUE; Params: SOAP:Envelope(1)SOAP:Header(1)sap:DynamicConfiguration(3)sap:Record(8), SHeaderX-MS-HAS-ATTACHystem/MailC8DD36D@MailServerNamewithDomain) ready., ST: ST_XMS_MSGHDR30_DYNAMIC; AdditionalText: An error occurred when deserializing in the simple transformation program ST_XMS_MSGHDR30_DYNAMIC; ApplicationFaultMessage:  ; ErrorStack: XML tag SOAP:Envelope(1)SOAP:Header(1)sap:DynamicConfiguration(3)sap:Record(8) (or one of the attributes) has the incorrect value SHeaderX-MS-HAS-ATTACHystem/MailC8DD36D@MailServerNamewithDomain>) ready. An error occurred when deserializing in the simple transformation program ST_XMS_MSGHDR30_DYNAMIC Data loss occurred when converting SHeaderX-MS-HAS-ATTACHystem/MailC8DD36D@MailServerNamewithDomain) ready.
    Does this give any hints?
    Regards,
    Puloma.

Maybe you are looking for