以编程方式发送带附件的电子邮件问题。

4

我正在尝试使用Android手机本地邮件客户端发送电子邮件。

我已经尝试了以下几种方法来添加附件到邮件中...

方法--1

Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("image/jpeg");
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://sdcard/abc.jpg"));

方法二

将图片作为邮件正文发送---

sendIntent.putExtra(Intent.EXTRA_TEXT, "<HTML><BODY><b><IMG**SRC=
\"data:image/jpeg;base64," + <imagepath> + "\"**alt = \"**pleaseview this
image\"/></b></BODY></HTML>");

我可以手动成功地附加图片,但当我试图以编程方式附加并发送它时,邮件将在没有附件的情况下发送。

请让我知道是否有一种方法可以通过使用电子邮件客户端以编程方式发送附件。


请查看以下链接:http://www.android-ios-tutorials.com/207/how-to-send-email-programmatically-in-android/ - Houcine
2个回答

15
我认为你的问题在于你没有正确地输入文件路径。
下面这种方式对我有效:
Intent i = new Intent(Intent.ACTION_SEND);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setType("image/jpg");
i.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/Pictures/
image.jpg"));
startActivity(i);

注意文件路径中有3个“/”,前两个是“file://”标头,另一个是因为sdcard目录在文件系统的根目录内,而在Linux中根目录为“/”。


这并不能解决将图像嵌入HTML电子邮件的问题,对吗? - Maysam Torabi

1

我相信你使用的Uri是不正确的。我尝试了file:///mnt/sdcard/而且非常顺利。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接