如何在android中通过邮件附加FIles



嗨,首先我想说一个使用gmail的发件人要在我的应用程序中点击按钮发送邮件,我在那里得到了来自这里的解决方案

现在在上面的代码中,我无法附加文件。但后来我看到了Stack over flow的解决方案,解决了这个问题,在"GMailSender.java"文件中进行了一些修改,修改后的链接是这里的

现在我的问题是我不理解修改后的部分这是旧的部分

public synchronized void sendMail(字符串主题、字符串正文、字符串发件人、字符串收件人)

修改部分是

public synchronized void sendMail(字符串主题、字符串正文、字符串发件人、字符串收件人、文件附件)

这不是一个重复的问题,我只是想知道这个"文件附件"部分是什么,以及我应该实现什么类型或方法来附加文件。如果你有任何疑问,请通过这两个链接,并提前找到解决方案。

您正在传递一个名为attachmentFile对象。这将是任何你想附加到你的电子邮件。

你可以把它附加到你的电子邮件中,比如:

MimeMessage message = new MimeMessage(session);
message.setSender(new InternetAddress(sender));
message.setSubject(subject);
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setText(body);
MimeBodyPart mbp2 = new MimeBodyPart();
FileDataSource fds = new FileDataSource(attachment); //set attachment to filedatasource
mbp2.setDataHandler(new DataHandler(fds)); //add the filedatasource object to your 2nd mimebodypart
mbp2.setFileName(fds.getName());
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbp1); 
mp.addBodyPart(mbp2);
message.setContent(mp);
...send email...

编辑:从来没有从SD卡中获得过图像,但我认为你可以很容易地创建一个File对象,如下所示:

File imageFile = new File("path to image on sd card");

然后,您将调用您的sendMail方法来传递该文件对象。

试试这个

Intent i = new Intent(Intent.ACTION_SEND);  
i.setType("message/rfc822") ; // use from live device
i.putExtra(Intent.EXTRA_EMAIL, new String[]{"test@gmail.com"});  
i.putExtra(Intent.EXTRA_SUBJECT,"subject goes here");  
i.putExtra(Intent.EXTRA_TEXT,"body goes here");  
i.putExtra(Intent.EXTRA_STREAM, new File(""));
startActivity(Intent.createChooser(i, "Select email application."));

相关内容

  • 没有找到相关文章

最新更新