Error in Sending Mail

Hi Experts
I am Converting smartform into PDF and send mail to the mailid mentioned in the vendor master.
Upto PDF conversion its working fine, sending mail is the problem here, am getting value for sy-subrc is '2'.
Iam attaching the code below, please suggest me what could be the reason for the error.
call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
  exporting
  document_data = wa_doc_chng
  put_in_outbox = 'X'
commit_work = 'X'
  tables
  packing_list = i_objpack
  object_header = wa_objhead
  contents_bin = i_objbin
  contents_txt = i_objtxt
  receivers = i_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.
  if sy-subrc <> 0.
    write:/ 'Error When Sending the File', sy-subrc.
  else.
    write:/ 'Mail sent'.
  endif.
Thanks in advance
regards
Raja

HI,
Check this link..http://docs.google.com/Doc?id=dfv2hmgs_0fm22tggx&hl=en
Check you have correctly populated packing_list table.
[Smartform as a PDF to Mail id |https://www.sdn.sap.com/irj/scn/wiki?path=/display/snippets/smartformasaPDFtoMailid]

Similar Messages

  • Error while sending mail from SAP

    Hello All,
    Recently we are facing an error while sending mail from SAP. When we try to compose a message ,it is moving to a dump error RAISE_EXCEPTION.
    The details from ST22,
    Short text
        Exception condition "FOLDER_NOT_EXIST" raised.
    Error analysis
        A RAISE statement in the program "SA
        condition "FOLDER_NOT_EXIST".
        Since the exception was not intercep
        program, processing was terminated.
    Kindly suggest..
    Thank You,
    Regards,
    Hasan

    Hello Priyanka,
    Actually, I performed the following two steps in order to solve the issue:
    - In transaction SICF, the node for SAPConnect must be active. In our system, this node was in inactive state. Hence I activated it.
    - Then In transaction SCOT-> Settings menu--> default domain should be 'xyz.com' if the email addresses in your company are maintained with a suffix  xyz.com.
    But for me the problem didnt get solved here..
    The problem that i am facing now is that if in my user profile, I have the email address maintained, then i get an error saying 'Sender address rejected'. However, if i goto transaction SU01 and clear the email id, the mail is successfully sent to outer world.
    You can try the above mentioned two steps using SICF and SCOT. If the problem does not get solved then try clearing the mail id in ur user profile.
    Hope this helps. If you find an answer to the problem of the mail id getting cleared, then please let me know..
    Regards,
    Himanshu

  • Error in sending mail using ssl server

    Hi All
    Please help in resolving the below issue i am getting the following error while sending mail. I am using the IMAP server and it is ssl configured.
    DEBUG: setDebug: JavaMail version 1.4ea
    DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc]
    DEBUG SMTP: useEhlo true, useAuth false
    DEBUG SMTP: trying to connect to host "mail.test.com", port 465, isSSL true
    DEBUG SMTP: exception reading response: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: subject/issuer name chaining check failed
    javax.mail.MessagingException: Exception reading response;
      nested exception is:
         javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: subject/issuer name chaining check failed
         at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1462)
         at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1260)
         at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
         at javax.mail.Service.connect(Service.java:275)
         at com.test.test.JavaMailApp2.main(JavaMailApp2.java:59)
    Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: subject/issuer name chaining check failed
         at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
         at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
         at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
         at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:97)
         at java.io.BufferedInputStream.fill(Unknown Source)
         at java.io.BufferedInputStream.read(Unknown Source)
         at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:75)
         at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1440)
         ... 4 more
    Caused by: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: subject/issuer name chaining check failed
         at sun.security.validator.PKIXValidator.doValidate(Unknown Source)
         at sun.security.validator.PKIXValidator.doValidate(Unknown Source)
         at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
         at sun.security.validator.Validator.validate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
         at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
         ... 17 more
    Caused by: java.security.cert.CertPathValidatorException: subject/issuer name chaining check failed
         at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(Unknown Source)
         at sun.security.provider.certpath.PKIXCertPathValidator.doValidate(Unknown Source)
         at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(Unknown Source)
         at java.security.cert.CertPathValidator.validate(Unknown Source)
         ... 24 moreBelow is the source code of the program.
    package com.test.test;
    import java.security.Security;
    import java.util.Properties;
    import javax.mail.Authenticator;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.NoSuchProviderException;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    public class JavaMailApp {
         public static void main( String[] args )
              String d_email = "[email protected]";
              String d_uname = "ots.support";
              String d_password = "password";
              String d_host = "mail.test.com";
              String d_port  = "465"; //465,587
              String m_to = "[email protected]";
              String m_subject = "Testing";
              String m_text = "Hey, this is the testing email.";
              Properties props = new Properties();
              props.put("mail.smtp.user", d_email);
              props.put("mail.smtp.host", d_host);
              props.put("mail.smtp.port", d_port);
              props.put("mail.smtp.starttls.enable","true");
              props.put("mail.smtp.debug", "true");
              props.put("mail.smtp.auth", "true");
              props.put("mail.smtp.socketFactory.port", d_port);
              props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
              props.put("mail.smtp.socketFactory.fallback", "false");
              SMTPAuthenticator auth = new SMTPAuthenticator();
              Session session = Session.getInstance(props, auth);
              session.setDebug(true);
              MimeMessage msg = new MimeMessage(session);
              try {
                   msg.setText(m_text);
                   msg.setSubject(m_subject);
                   msg.setFrom(new InternetAddress(d_email));
                   msg.addRecipient(Message.RecipientType.TO, new InternetAddress(m_to));
                   Transport transport = session.getTransport("smtps");
                   transport.connect(d_host, 465, d_uname, d_password);
                   transport.sendMessage(msg, msg.getAllRecipients());
                   transport.close();
              } catch (MessagingException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
    public class SMTPAuthenticator extends Authenticator{
         public PasswordAuthentication getPasswordAuthentication()
            return new PasswordAuthentication("[email protected]", "password");
    }I have also added the certificate to my keystore using the following command and still i am facing this issue.
    keytool -import -trustcacerts -alias root -file mail_test_com.crt -keystore keystore.jks
    Add to fierof2's Reputation

    this is where i created the keystore.jks file
    I navigated to the location C:\Program Files\Java\jdk1.6.0_13\bin in command prompt and typed the following command to create the keystore
    keytool -import -trustcacerts -alias root -file mail_test_com.crt -keystore keystore.jksI was asked to set the password for keystore and then i was asked the question "Trust this certificate? [no]:" for which i gave yes.
    If this is not the right place to create the keystore.jks can you please tell me what is correct location to create the keystore file.

  • An error occurred sending mail: The mail server sent an incorrect greeting: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH

    Hi, I am receiving emails but whenever I try and send I get the following message:
    unable to send emails An error occurred sending mail: The mail server sent an incorrect greeting: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready..

    What are your settings in Tools(or AppMenu/Options)/Account Settings/Outgoing Server (SMTP)? The error message suggests you must have STARTTLS connection security and normal password authentication:
    https://getsatisfaction.com/mozilla_messaging/topics/mail_preferences-t1xeq

  • Urgent:-REP-50152: Error while sending mail

    hi
    i am using reports10g. i have called a report from a form and destype=mail.
    i have already mention the smtp server name in conf. file but still receiving this error
    REP-50152: Error while sending mail - Sending failed; nested exception is: javax.mail.SendFailedException: Invalid Addresses; nested exception is: javax.mail.SendFailedException: 550 5.7.1 Unable to relay for [email protected]
    thanks

    Your smtp server forbids relaying, which is very common. Often a smtp server is configured to send only mails within the same domain without authentication. Otherwise, you need a username and password for the smtp server. I'm not sure if you can configure Reports to send mail through an authenticated server.

  • Terminated with error: REP-50152:Error while sending mail

    Hi
    Gets this error while sending report mails to external email id's
    Terminated with error: REP-50152: Error while sending mail - Sending failed; nested exception is: javax.mail.SendFailedException: Invalid Addresses; nested exception is: javax.mail.SendFailedException: 550 5.7.1 Unable to relay for [email protected]
    Any setting to be done in report config file?
    thanks
    MG

    It should be like this
    <pluginParam name="mailServer">%MAILSERVER_NAME%</pluginParam>
    Specify the name of your mail server in the place of %MAILSERVER_NAME% above
    Also make sure that this is not commented out.
    Thanks,

  • Error while sending mail using script task in ssis 2008

    Hi,
        i am trying to send mail using ssis 2008 script task.for my requirement i am not able to use send mail task.
    code i have used is
    declared read only variables system::packagename
     Dim PACKAGE As String
            PACKAGE = Dts.Variables("System::PackageName").Value.ToString()
            Dim myHtmlMessage As MailMessage
            Dim mySmtpClient As SmtpClient
            myHtmlMessage = New MailMessage("[email protected]", "[email protected]", "PACKAGE STATUS", PACKAGE + "WAS FAILED")
         mySmtpClient = New SmtpClient("smtp.gmail.com")
            mySmtpClient.Credentials = New NetworkCredential("[email protected]", "mypassword")
            mySmtpClient.EnableSsl = True
            mySmtpClient.Port = 587
            mySmtpClient.Send(myHtmlMessage)
    error i am getting is
    Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1
    Authentication Required. Learn more at
       at System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response)
       at System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from)
       at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
       at System.Net.Mail.SmtpClient.Send(MailMessage message)
       at ST_c121e07caaa94c21bb1355d4f753112f.vbproj.ScriptMain.Main()
       --- End of inner exception stack trace ---
       at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
       at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
       at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
       at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, CultureInfo culture)
       at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()
    can any one tell me where i am going wrong

    also getting error as follows
    Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1
    Authentication Required. Learn more at
       at System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response)
       at System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from)
       at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
       at System.Net.Mail.SmtpClient.Send(MailMessage message)
       at ST_c121e07caaa94c21bb1355d4f753112f.vbproj.ScriptMain.Main()
       --- End of inner exception stack trace ---
       at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
       at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
       at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
       at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, CultureInfo culture)
       at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

  • Error While sending mail

    Working with 9.1.0.1
    I have created a task which will send Mail to user when password is changed.
    so in Notification Tab i Have clicked user check box and attached a appropiate Email Defination,
    when task is triggered password is changed in OID but while sending mail i am getting below error.
    I checked in metalink its shows when Email Server IT Res Name should be same as that configured in System property ,i checked both are same.
    1 Dec 2011 18:06:54,735,[XELLERATE.REQUESTS],Class/Method: tcEmailNotificationUtil/sendEmail encounter some problems: {1}
    lang.NullPointerException
    at java.util.Hashtable.put(Hashtable.java:394)
    at com.thortech.xl.dataobj.util.tcEmailNotificationUtil.sendEmail(Unknown Source)
    at com.thortech.xl.dataobj.tcScheduleItem.checkForEmailNotification(Unknown Source)
    at com.thortech.xl.dataobj.tcScheduleItem.eventPostUpdate(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.update(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
    at com.thortech.xl.adapterfactory.events.tcAdpEvent.updateSchItem(Unknown Source)
    at com.thortech.xl.adapterfactory.events.tcAdpEvent.finalizeProcessAdapter(Unknown Source)
    at com.thortech.xl.adapterfactory.events.tcAdpEvent.finalizeAdapter(Unknown Source)
    at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpOIDMODIFYUSER.implementation(adpOIDMODIFYUSER.java:81)
    at com.thortech.xl.client.events.tcBaseEvent.run(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.runEvent(Unknown Source)
    at com.thortech.xl.dataobj.tcScheduleItem.runMilestoneEvent(Unknown Source)
    at com.thortech.xl.dataobj.tcScheduleItem.eventPostInsert(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
    at com.thortech.xl.client.events.tcTriggerUserProcesses.insertMileStones(Unknown Source)
    at com.thortech.xl.client.events.tcTriggerUserProcesses.trigger(Unknown Source)
    at com.thortech.xl.client.events.tcUSRTriggerUserProcesses.implementation(Unknown Source)
    at com.thortech.xl.client.events.tcBaseEvent.run(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.runEvent(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.eventPostUpdate(Unknown Source)
    at com.thortech.xl.dataobj.tcUSR.eventPostUpdate(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.update(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
    at com.thortech.xl.dataobj.tcTableDataObj.save(Unknown Source)
    at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.updateUserData(Unknown Source)
    at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.updateUser(Unknown Source)
    at com.thortech.xl.ejb.beans.tcUserOperationsSession.updateUser(Unknown Source)
    at com.thortech.xl.ejb.beans.tcUserOperations_voj9p2_EOImpl.updateUser(tcUserOperations_voj9p2_EOImpl.java:1763)
    at Thor.API.Operations.tcUserOperationsClient.updateUser(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor485.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)

    Create a task "Send Email" which will be called on SUCCESS of Change Password Task
    Attach tcComplete in INTEGRATION tab And send Email from "Send Email" using Notification Tab
    It seems that issue is with Change Password Task
    Or Use APIs
    Re: Send Mail via java code but using Mail Definitions

  • Error while sending mail to external id

    Hai all,
    I am trying to send mail to external mail id using the FM SO_NEW_DOCUMENT_ATT_SEND_API1. After executing when i check in sost i m getting an error 'Cannot process message, no route from sapuserto external mail id.
    Can anyone help me resolve this issue pls.
    Thanks in advance,
    Neela

    Hi,
    You have to fill the tables parameter 'PACKING_LIST'.
    try with these values
    wa_objpack-TRANSF_BIN = space.
    wa_objpack-HEAD_START = 1.
    wa_objpack-HEAD_NUM   = 0.
    wa_objpack-BODY_START = 1.
    wa_objpack-DOC_TYPE   = 'RAW'.
    APPEND wa_objpack to it_objpack.
    Regards,
    Daz.

  • Error while sending mail from SAP system

    Hi all,
    I configured SAP connect  in ecc6.0 ehp7 while sending mail using tx sost i am error
    Message cannot be transferred to node SMTP due to connection error (final) , below is the icm log.
    ERROR => IcmPlAllocBuf: MpiGetOutbuf failed (rc = 14(MPI_ESTALE: outdated MPI handle)) [icxxplugin.c 1222]
    ERROR => SMTP SmtpClientClose: alloc failed, rc = -3 [smtp_plg.c   3738]
    ERROR => IcmBufFree(id=0/32): MpiFreeBuf failed (rc=14), MPI_ESTALE: outdated MPI handle [icxxplugin.c 165
    ERROR => IcmConnClose: PlugInStopConn failed (rc=701) [icxxconn.c   3433]
    can any one please help on this
    Thanks,
    Narendar.

    Hello Priyanka,
    Actually, I performed the following two steps in order to solve the issue:
    - In transaction SICF, the node for SAPConnect must be active. In our system, this node was in inactive state. Hence I activated it.
    - Then In transaction SCOT-> Settings menu--> default domain should be 'xyz.com' if the email addresses in your company are maintained with a suffix  xyz.com.
    But for me the problem didnt get solved here..
    The problem that i am facing now is that if in my user profile, I have the email address maintained, then i get an error saying 'Sender address rejected'. However, if i goto transaction SU01 and clear the email id, the mail is successfully sent to outer world.
    You can try the above mentioned two steps using SICF and SCOT. If the problem does not get solved then try clearing the mail id in ur user profile.
    Hope this helps. If you find an answer to the problem of the mail id getting cleared, then please let me know..
    Regards,
    Himanshu

  • Error while sending mail in RDI Format

    Hi All
    I have a requirement automate sending of invoices customers via fax and e-mail in RDI format.
    For this I created a from and used the parameter raw_data_interface = 'X' for this and for sending mail filled the parameters MAIL_SENDER and MAIL_RECIPIENT for sending a mail, used device as 'MAIL'.
    When I run the program i get the error "No Output Device Defined". Could you please tell where the issue is.
    Best Regards,
    Pradeep.

    hi,
    i am having one prob...
    how to send a alv report to external mail id....like gmail,yahoo etc....
    can u send me the code..
    Pls........

  • Error in sending mail 2nd time, Where is the fault- Help Please

    Hi friends,
    I had written a program to send mail. Everything is fine, when i send first time. But if I try to send mail 2nd time, It gives the error:
    Exception in Connect: IOException while sending message
    Here is the complete code what i had written, It successfully connects using t.connect();
    the problem in t.send();
    output on JBoss Console is :
    Inside Action
    After Transport t = session.getTransport(protocol)
    before t.connect()
    after t.connect()
    Exception in Connect IOException while sending message
    import java.io.*;
    import java.util.*;
    import javax.activation.*;
    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.servlet.http.*;
    import org.apache.struts.action.*;
    public class MsgSend extends Action {
         @Override
         public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request
                   , HttpServletResponse response) throws Exception {
              response.setContentType("text/xml");
              PrintWriter out = response.getWriter();
              System.out.println("Inside Action");
                String to = request.getParameter("to");
             String bcc = request.getParameter("bcc");
             String cc = request.getParameter("cc");
             String subject = request.getParameter("sub");
             String user = request.getParameter("user");
             //String password = request.getParameter("pass");
             String message = request.getParameter("message");
             String from = user + "@domainname.com" ;
             /*Properties props = System.getProperties();
             props.put("mail.smtp.host", "smtp.vsginc.com");
              MailBean  bean = MailBean.getInstance();          
              Session session = bean.getSession();          
              String protocol = "smtp";
              Transport t = session.getTransport(protocol);
              System.out.println("After Transport t =              session.getTransport(protocol)");
             MimeMessage msg = new MimeMessage(session);
             msg.setFrom(new InternetAddress(from));
             InternetAddress[] address = {new InternetAddress(to)};
             msg.setRecipients(Message.RecipientType.TO, address);
             if(cc != null ){
                   InternetAddress ccAddr[]  = InternetAddress.parse(cc);
                   msg.setRecipients(Message.RecipientType.CC, ccAddr);
              if(bcc != null){
                   InternetAddress bccAddr[] = InternetAddress.parse(bcc);
                   msg.setRecipients(Message.RecipientType.BCC,bccAddr);
             msg.setSubject(subject);
             // create and fill the first message part
             MimeBodyPart messageBodyPart = new MimeBodyPart();
             messageBodyPart.setText(message);
             Multipart multipart = new MimeMultipart();
             multipart.addBodyPart(messageBodyPart);
             Attachment attachment = Attachment.getInstance();
             ArrayList<String> fileList = attachment.getFileNames();
             String parentFolder = null;
             for(String path:fileList){
                  File attachmentFile = new File(path);
                  messageBodyPart = new MimeBodyPart();
                  DataSource source = new FileDataSource(attachmentFile);
                  messageBodyPart.setDataHandler(new DataHandler(source));
                  messageBodyPart.setFileName(attachmentFile.getName());
                  multipart.addBodyPart(messageBodyPart);
                  parentFolder = attachmentFile.getParent();
             // add the Multipart to the message
             msg.setContent(multipart);
             // set the Date: header
             msg.setSentDate(new Date());        
             try {
                  System.out.println("before t.connect()");
                   t.connect(bean.getSmtpServer(),bean.getUsername() ,bean.getPassword());
                   System.out.println("after t.connect()");
                   //Error is coming here in this Line.
                   t.sendMessage(msg, msg.getAllRecipients());
                   * System.gc(); will relese the fileHandles, if some resource
                   * still holds it.               
                   System.out.println("before System.gc()");
                   System.gc();
                   * Deleting All the Files from Attachment Folders.
                  System.out.println("before attachmentFolder");
                  File attachmentFolder = new File(parentFolder);
                  System.out.println("Attachment Folder Name is : "+attachmentFolder.getAbsolutePath());
                  if(attachmentFolder.isDirectory()){
                       File[] files = attachmentFolder.listFiles();
                       System.out.println("No of Files For Attachments are: "+files.length);
                       boolean deleteResult = false;
                       for(int i=0; i<files.length; i++ ){
                            deleteResult = files.delete();
                        System.out.println(files[i].getName() + " Delete Staus is :"+ deleteResult);
              System.out.println("All attachments Deleted");
              out.print("<result>Mail has been sent successfully</result>");
              } catch (Exception e) {
                   out.print("<result>Mail sending failed</result>");
                   System.out.println("Exception in Connect "+e.getMessage());
              }finally{
                   t.close();               
              return null;
    Problem only comes, when i send 2nd time or more. What is the problem? Please help me out.
    Thanks for your response in advance. One more thing, Whether to send a mail & receive a mail, we need to create different sessions. one for sending & one for receiving mails.
    Message was edited by:
    Ashish.Mishra16

    I don't see anything obviously wrong in your code. Try adding
    session.setDebug(true);
    You can use the same Session for sending and for reading.
    A Session just encapsulates your configuration parameters,
    so as long as they're the same for both usages, one Session
    is fine.

  • Error while sending mail from SAP to external mail id

    Hello Experts,
    I am blocked by the below problem.
    I am trying to send email from SAP to an external email ID. I have tried using Class approach as well as the function 'SO_DOCUMENT_SEND_API1' for the same.
    Everytime i get the following message:
    Internal error: CL_SMTP_RESPONSE ESMTP error code is not known. 554 554 <email address> Sender address rejected.
    I am not at all able to figure out why this type of error is coming.
    The same code is working on the development environment but not on the test system.
    Please reply back asap as i am completely blocked due to this.
    Thanks/Regards,
    Himanshu

    Hello Priyanka,
    Actually, I performed the following two steps in order to solve the issue:
    - In transaction SICF, the node for SAPConnect must be active. In our system, this node was in inactive state. Hence I activated it.
    - Then In transaction SCOT-> Settings menu--> default domain should be 'xyz.com' if the email addresses in your company are maintained with a suffix  xyz.com.
    But for me the problem didnt get solved here..
    The problem that i am facing now is that if in my user profile, I have the email address maintained, then i get an error saying 'Sender address rejected'. However, if i goto transaction SU01 and clear the email id, the mail is successfully sent to outer world.
    You can try the above mentioned two steps using SICF and SCOT. If the problem does not get solved then try clearing the mail id in ur user profile.
    Hope this helps. If you find an answer to the problem of the mail id getting cleared, then please let me know..
    Regards,
    Himanshu

  • Error while sending mail with pdf attachment

    Dear All,
    I am sending mail to outlook Internet address, with PDF attachment, if i have the some text in the mail along with the attachment,
    then the PDF attachment file is not opeining, throws file corrupted error.
    If i don't have the text for mail body, and send only attachment then the PDF attachments working fine.
    Please help.
    regards,
    Kumar.

    Hi Kumar,
    If you are using the th FM "SO_NEW_DOCUMENT_ATT_SEND_API1" to send the PDF data(As an attachment) to an internet address, try prepare an internal table with the text you want to mention in your mail. This table needs to be passed to the
    'contents_txt' of this function module.  You can check your mail in SOST transaction and in DOC Content section.
      Ex:  wa_objtxt           = 'Regards'.
             APPEND wa_objtxt TO t_objtxt.
    I am sure that you won't get any problem if you follow the procedure mentioned above.
    Thank You,
    Regards,
    Naresh.

  • Error when sending mail.

    I have Adobe Acrobat Pro  9.1.2.
    After installing the latest update, I can no longer send email from Acrobat.  When I try to send the PDF via email, the message says " an error occured while sending mail"
    This  feature worked fine until I installed the update.  Any help would be appreciated.

    Sorry to leave out needed info....
    Email is  Thunderbird  2.0.0.22
    OS   is  XP

Maybe you are looking for