title: javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed; boundary
body: <p>Currently I'm inline of writing a code that will be listening to a directory. when the directory is updated with .apk file, I'll send a mail with this .apk file to a gmail account. I'm using Jnotify and JAVA Mail in my program.</p>
  
  <p>The Error I'm getting is,</p>
  
  <pre><code>javax.mail.MessagingException: IOException while sending message;
    nested exception is:
  javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed; boundary="----=_Part_0_145238.1392728439484"
  </code></pre>
  
  <p>I looked for the solutions given in the stackoverflow for help but none of them where helpful.   </p>
  
  <p>Thanks in Advance  </p>
  
  <pre><code>public void fileCreated(int wd, String rootPath, String name) {
      print("created " + rootPath + " : " + name);
  
      if (name.contains(".apk"))
        SendEmail(name);
      else
          System.out.println("Not the APK file");
  }
  
  void SendEmail(String strname){
      String Path = "D:/POC/Email/apk folder/"+strname;
      System.out.println("Path-&gt;" + Path);
  
      Properties props = new Properties();
      props.put("mail.smtp.host","173.194.78.108");
      props.put("mail.smtp.socketFactory.port", "465");
      props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
      props.put("mail.smtp.auth","true");
      props.put("mail.smtp.port","465");
  
      System.out.println("Properties has been set properly");
  
      Session session = Session.getDefaultInstance(props,
          new javax.mail.Authenticator(){
              protected PasswordAuthentication getPasswordAuthentication(){
                  return new PasswordAuthentication("SenderEmailID@gmail.com", "senderPassword");
              }
          }
      );
  
      System.out.println("Session Created successfully");
  
      try{
          Message message = new MimeMessage(session); 
          message.setFrom(new InternetAddress("SenderEmailID@gmail.com"));
          message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("ToReceiverEmailID@gmail.com"));
          message.setSubject("Android : " + strname);
  
          MimeBodyPart msgbody = new MimeBodyPart();
          msgbody.setText("This is the message content which is sent using JAVA MAIL 1.4.5");
          Multipart mulpart = new MimeMultipart();
          mulpart.addBodyPart(msgbody);
  
          //Attachement Starts here.
          msgbody = new MimeBodyPart();
          javax.activation.DataSource source = new FileDataSource(Path);
          msgbody.setDataHandler(new DataHandler(source));
          msgbody.setFileName(strname);
          message.setContent(mulpart);
  
          System.out.println("Attached the message going to start transporting the mail");
  
          //If I've the code before sending the email is getting sent but without attachment. 
          //Thread.currentThread().setContextClassLoader( getClass().getClassLoader() );
  
          Transport.send(message);
          System.out.println("Mail Sent successfully");
      }
      catch(MessagingException msg){
          msg.printStackTrace();
      }
      catch(Exception e){
          e.printStackTrace();
      }
  }
  </code></pre>