2014-07-22 4 views
0

Привет, я посылаю почту через приложение Android. Я импортирую библиотеку писем и библиотеку активации в своем приложении.Как я могу отправить вложение через почту в приложении Android?

Когда я отправляю почту, было отправлено успешно, но вложение не было. Может ли кто-нибудь сказать мне, как я могу отправить это тоже.

Вот мой код:

public synchronized void sendMail(String body, String recipients) throws Exception { 
     try{ 
     MimeMessage message = new MimeMessage(session); 
     DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain")); 
     message.setSender(new InternetAddress("[email protected]")); 
     message.setSubject("Request For Claim"); 


     MimeBodyPart messageBodyPart2=new MimeBodyPart(); // creating new MimeBodyPart object and setting DataHandler to this object 
     String filename="file:///android_asset/code.js"; //you can change according to your choice 
     DataSource source=new FileDataSource(filename); 
     messageBodyPart2.setDataHandler(new DataHandler(source)); 
     messageBodyPart2.setFileName(filename); 

     Multipart multipart=new MimeMultipart(); 
     multipart.addBodyPart(messageBodyPart2); 

     message.setContent(multipart); 

     message.setDataHandler(handler); 
     showLog("recepetent is "+recipients); 
     if (recipients.indexOf(',') < 0) 

      message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]")); 
     else 
      message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients)); 
     Transport.send(message); 
     }catch(Exception e){ 

      e.printStackTrace(); 
     } 
    } 

Я не знаю почему моя привязанность не становится.

Спасибо

+0

Смотрите здесь http://www.tutorialsbuzz.com/2014/02/send-mail-attachment-android-application.html – Goofy

+0

посмотреть здесь http://www.androidhub4you.com/2013/ 09/send-email-with-attachment-in-android.html –

+0

эти ссылки не используют mail.jar, activation.jar. Я хочу через код напрямую не для каких-либо выделений. – Nava2011

ответ

1

Попробуйте этот путь, надеюсь, это поможет вам решить вашу проблему.

public static void email(Context context, String to, String cc,String subject, String body, List<String> files) 
    { 
     //need to "send multiple" to get more than one attachment 
     final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE); 
     emailIntent.setType("text/plain"); 
     emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, 
       new String[]{to}); 
     emailIntent.putExtra(android.content.Intent.EXTRA_CC, 
       new String[]{cc}); 
     emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject); 
     emailIntent.putExtra(Intent.EXTRA_TEXT, body); 
     //has to be an ArrayList 
     ArrayList<Uri> uris = new ArrayList<Uri>(); 
     //convert from paths to Android friendly Parcelable Uri's 
     for (String file : files) 
     { 
      File fileIn = new File(file); 
      Uri u = Uri.fromFile(fileIn); 
      uris.add(u); 
     } 
     emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); 
     context.startActivity(Intent.createChooser(emailIntent, "Send mail...")); 
    } 
+0

Нет, я хочу прикрепить файл. – Nava2011

Смежные вопросы