【问题标题】:Android: mime type for email attachment not setAndroid:未设置电子邮件附件的 MIME 类型
【发布时间】:2012-06-12 08:34:03
【问题描述】:

我正在为 Android 2.3.3 开发一个非常小的应用程序。 我想发送一封包含 jpeg 图像作为附件的电子邮件(通过 android 电子邮件应用程序),位于相关代码下方(仅使用 sdk 模拟器测试):

public void sendArtwork(View aView){
        EditText subj = (EditText)findViewById(R.id.edit_subj);
        EditText descr = (EditText)findViewById(R.id.edit_descr);
        Intent emailIntent = new Intent(Intent.ACTION_SEND);
        emailIntent.setType("image/jpeg");  // attachment is a jpeg
        emailIntent.putExtra(Intent.EXTRA_EMAIL,new String[]{"contribute@unintentional.org"}); 
        emailIntent.putExtra(Intent.EXTRA_SUBJECT,subj.getText().toString()); //get subject from one EditText in the UI
        emailIntent.putExtra(Intent.EXTRA_TEXT,descr.getText().toString()); //get body from one EditText in the UI
        emailIntent.putExtra(Intent.EXTRA_STREAM, fileURI); // add attachment
        startActivityForResult(Intent.createChooser(emailIntent, "Choose Email application:"), EMAIL_CODE);

    }

它按预期工作:它打开一个选择器,使用正确的地址、主题、文本和附件创建一封电子邮件并发送它。

我唯一无法完成的是为图像设置正确的 mime 类型:正确接收附件(我可以将其分离到磁盘并打开它)但没有内容类型,因此电子邮件客户端(Thunderbird) 不显示预览,也无法提供打开它的应用程序。 有人对此有什么建议吗?

----编辑

图像文件在没有任何错误的情况下发送:如前所述,如果我将其保存在我的 PC 上的磁盘上并使用合适的应用程序(即 Picasa)打开它,它会正确显示。

【问题讨论】:

  • 图片能不能看?
  • 您好,附件的 mime 类型也有同样的问题。你在这个问题上有什么运气吗?谢谢。

标签: android mime-types email-attachments


【解决方案1】:

我使用相同的方法发送电子邮件,并在几个电子邮件客户端的不同版本上进行了测试。 甚至 gmail 也不一致,有些版本设置了附件的 mime 类型,有些则忽略了它。 我得出的结论是没有安全的解决方案。至少不使用 ACTION_SEND Intent。

【讨论】:

    猜你喜欢
    • 2011-12-09
    • 2011-08-16
    • 2015-05-28
    • 2011-07-22
    • 2012-12-26
    • 2014-08-30
    • 1970-01-01
    • 2013-09-09
    • 2016-06-25
    相关资源
    最近更新 更多