嗨,首先我想说的是,使用 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)
这不是重复的问题,我只是想知道这个“文件附件”部分是什么,以及我应该实现什么类型或方法来附加文件,如果您有任何疑问,请浏览这两个链接并找到解决方案提前致谢
最佳答案
您正在传递一个名为attachment
的File
对象。这将是您想要附加到电子邮件中的任何内容。
您可以将其附加到您的电子邮件中,例如:
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/