Hi All,
       I was able to send a mail using manual Smtp server without using the
built in mail component.Now I need to attach an image for this email.

This is the code  snippet I use to attach the image

 public synchronized void sendMail(String subject, String body, String
sender, String recipients,File file) throws Exception {

MimeMessage message = new MimeMessage(session);
DataHandler handler = new DataHandler(new
ByteArrayDataSource(body.getBytes(), "image/jpeg"));
       message.setSender(new InternetAddress(sender));
        message.setSubject(subject);
       message.setDataHandler(handler);
        if (recipients.indexOf(',') > 0)
            message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(recipients));
        else
            message.setRecipient(Message.RecipientType.TO, new
InternetAddress(recipients));
       BodyPart messageBodyPart= new MimeBodyPart();
       Multipart m=null;
        if(file.exists()){

        messageBodyPart = new MimeBodyPart();
       FileDataSource     source = new FileDataSource(file);
            messageBodyPart.setDataHandler(new DataHandler(source));
         m=new MimeMultipart("related");
            m.addBodyPart(messageBodyPart);
           message.setContent(m);

        Transport.send(message);

}
}


When I am trying to do that I am getting following exception


09-23 19:43:08.187: ERROR/SendMail(3651): IOException while sending message
09-23 19:43:08.187: ERROR/SendMail(3651): javax.mail.MessagingException:
IOException while sending message;
09-23 19:43:08.187: ERROR/SendMail(3651):   nested exception is:
09-23 19:43:08.187: ERROR/SendMail(3651):
javax.activation.UnsupportedDataTypeException: no object DCH for MIME type
multipart/related;
09-23 19:43:08.187: ERROR/SendMail(3651):
boundary="----=_Part_0_1129463528.1253715180034"
09-23 19:43:08.187: ERROR/SendMail(3651):     at
com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:779)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
javax.mail.Transport.send0(Transport.java:191)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
javax.mail.Transport.send(Transport.java:120)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
org.apache.android.mail.GMailSender.sendMail(GMailSender.java:135)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
org.apache.android.mail.SendMail$1.onClick(SendMail.java:42)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
android.view.View.performClick(View.java:2179)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
android.view.View.onTouchEvent(View.java:3828)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
android.widget.TextView.onTouchEvent(TextView.java:6291)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
android.view.View.dispatchTouchEvent(View.java:3368)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1707)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1197)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
android.app.Activity.dispatchTouchEvent(Activity.java:1993)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1691)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
android.view.ViewRoot.handleMessage(ViewRoot.java:1525)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
android.os.Handler.dispatchMessage(Handler.java:99)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
android.os.Looper.loop(Looper.java:123)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
android.app.ActivityThread.main(ActivityThread.java:3948)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
java.lang.reflect.Method.invokeNative(Native Method)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
java.lang.reflect.Method.invoke(Method.java:521)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
09-23 19:43:08.187: ERROR/SendMail(3651):     at
dalvik.system.NativeStart.main(Native Method)


Any resolution idea highly appreciated

Thanks and Regards,
Isuru

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to