使用Java Mail在android中添加附件

时间:2015-03-28 16:15:34

标签: android email javamail email-attachments

我正在尝试将附件添加到我使用JavaMail发送的电子邮件中。我可以发送没有附件的电子邮件,但是当我尝试附加文件时出现错误。

03-28 18:07:36.735: E/SendMail(6703): null
03-28 18:07:36.735: E/SendMail(6703): java.lang.NullPointerException
03-28 18:07:36.735: E/SendMail(6703):   at com.example.email.GMailSender.addAttachment(GMailSender.java:95)
03-28 18:07:36.735: E/SendMail(6703):   at com.example.email.MainActivity$1$1.run(MainActivity.java:28)

这是我用来附加文件的方法。

public void addAttachment(String filename) throws Exception {
        BodyPart messageBodyPart = new MimeBodyPart();
        DataSource source = new FileDataSource(filename);
        messageBodyPart.setDataHandler(new DataHandler(source));
        messageBodyPart.setFileName(filename);
        _multipart.addBodyPart(messageBodyPart);  
        message.setContent(_multipart);
    }

我在主要活动中称呼它。

sender.addAttachment("/storage/extSdCard/DCIM/Camera/Photo.jpg");

您认为文件的路径有问题,如果是这样,我怎样才能获得正确的路径。

1 个答案:

答案 0 :(得分:0)

您尝试通过从外部存储中读取文件来附加文件。因此,请确保您在清单中拥有以下权限。

<uses-permission
     android:name="android.permission.WRITE_EXTERNAL_STORAGE" >