I am developing one simple Android project to capture picture from the tablet and mail it to some given id, for mailing i followed this link and it works good
so i tried to attach the image by adding this method to the GMailSender class.
my code:
 public synchronized void sendMailandAttachment(String subject, String body, String sender, String recipients, String file) throws Exception {   
    try{
    MimeMessage message = new MimeMessage(session);   
    DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain"));   
    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));   
    // Set the email message text
    MimeBodyPart messagePart = new MimeBodyPart();
    messagePart.setContent(body, "text/html");
    // Set the email attachment file
        MimeBodyPart attachmentPart = new MimeBodyPart();
        FileDataSource fileDataSource = new FileDataSource(file) {
            @Override
            public String getContentType() {
                return "application/octet-stream";
            }
        };
        attachmentPart.setDataHandler(new DataHandler(fileDataSource));
        attachmentPart.setFileName(fileDataSource.getName());
   Multipart multipart = new MimeMultipart();
        multipart.addBodyPart(messagePart);
     multipart.addBodyPart(attachmentPart);
 message.setContent(multipart);
    Transport.send(message);   
    Log.i("Mail","transport completes..");
    }catch(Exception e){
        Log.i("Mail",e.getMessage());
        e.printStackTrace();
    }
}   
it works properly in sometimes but sometimes it throws this exception..
IOException while sending message
javax.mail.MessagingException: IOException while sending message;
nested exception is:
07-05 00:58:15.680: W/System.err(6960):     javax.net.ssl.SSLException: Write error: ssl=0x43cce8: I/O error during system call, Connection reset by peer
07-05 00:58:15.680: W/System.err(6960):     at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:676)
07-05 00:58:15.680: W/System.err(6960):     at javax.mail.Transport.send0(Transport.java:189)
07-05 00:58:15.680: W/System.err(6960):     at javax.mail.Transport.send(Transport.java:118)
07-05 00:58:15.680: W/System.err(6960):     at com.test.helpers.GMailSender.sendMailandAttachment(GMailSender.java:115)
07-05 00:58:15.680: W/System.err(6960):     at com.test.PostImageActivity$1.run(PostImageActivity.java:75)
07-05 00:58:15.680: W/System.err(6960): Caused by: javax.net.ssl.SSLException: Write error: ssl=0x43cce8: I/O error during system call, Connection reset by peer
07-05 00:58:15.690: W/System.err(6960):     at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_write(Native Method)
07-05 00:58:15.690: W/System.err(6960):     at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLOutputStream.write(OpenSSLSocketImpl.java:713)
07-05 00:58:15.690: W/System.err(6960):     at com.sun.mail.util.TraceOutputStream.write(TraceOutputStream.java:114)
07-05 00:58:15.690: W/System.err(6960):     at java.io.BufferedOutputStream.flushInternal(BufferedOutputStream.java:185)
07-05 00:58:15.690: W/System.err(6960):     at java.io.BufferedOutputStream.write(BufferedOutputStream.java:139)
07-05 00:58:15.690: W/System.err(6960):     at com.sun.mail.util.CRLFOutputStream.write(CRLFOutputStream.java:84)
07-05 00:58:15.690: W/System.err(6960):     at com.sun.mail.smtp.SMTPOutputStream.write(SMTPOutputStream.java:87)
07-05 00:58:15.690: W/System.err(6960):     at com.sun.mail.util.CRLFOutputStream.write(CRLFOutputStream.java:75)
07-05 00:58:15.690: W/System.err(6960):     at com.sun.mail.util.BASE64EncoderStream.write(BASE64EncoderStream.java:140)
07-05 00:58:15.690: W/System.err(6960):     at javax.activation.DataHandler.writeTo(DataHandler.java:322)
07-05 00:58:15.690: W/System.err(6960):     at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1403)
07-05 00:58:15.700: W/System.err(6960):     at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:874)
07-05 00:58:15.700: W/System.err(6960):     at javax.mail.internet.MimeMultipart.writeTo(MimeMultipart.java:444)
07-05 00:58:15.700: W/System.err(6960):     at com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:102)
07-05 00:58:15.700: W/System.err(6960):     at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:897)
07-05 00:58:15.700: W/System.err(6960):     at javax.activation.DataHandler.writeTo(DataHandler.java:330)
07-05 00:58:15.700: W/System.err(6960):     at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1403)
07-05 00:58:15.700: W/System.err(6960):     at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1745)
07-05 00:58:15.700: W/System.err(6960):     at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:636)
07-05 00:58:15.700: W/System.err(6960):     ... 4 more
i am using Lenovo with Android ICS,
any solution ??
 
     
    