android - 如何在android中通过邮件附加文件

标签 android gmail attachment

嗨,首先我想说的是,使用 gmail 发件人要通过单击我的应用程序中的按钮发送邮件,我得到了 Solution From Here

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

现在如何有附加部分来附加文件,我的问题是我不理解修改的部分。 这是旧的部分

public synchronized void sendMail(String subject, String body, String sender, String recipients)

修改部分为

public synchronized void sendMail(String subject, String body, String sender, String recipients, File attachment)

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

最佳答案

您正在传递一个名为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 方法。

关于android - 如何在android中通过邮件附加文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9179160/

相关文章:

android - 质量检查系统词库

android - 无法在 AlertDialog 中显示 Spinner DropDown 列表 - Android

php - 具有公共(public)访问权限的 Web 应用程序的 Google OAuth 2.0 刷新 token

javascript - Google 表单文件上传 - 如何使用通过表单提交的图像并将其嵌入电子邮件中

javascript - 创建 Gmail 共享链接

Java - 使用 javax.mail 库更改电子邮件附件的名称

java - 如何获取电子邮件所有附件的文件名?

Android fragment 隐藏显示OnHide/OnShow?

android - 有没有办法在 Maps API v2 上显示所有信息窗口?

c# - 将上传的文件作为附件发送