我如何通过邮件发送附件在安卓应用程序



你好,我通过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("shankar.uclid@gmail.com"));   
        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("shankar.uclid@gmail.com"));   
        else  
            message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients));   
        Transport.send(message);   
        }catch(Exception e){
            e.printStackTrace();
        }
    }   

我不知道为什么我的附件没有收到。

谢谢

试试这个方法,希望能帮助你解决你的问题

    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..."));
    }

相关内容

  • 没有找到相关文章

最新更新