【问题标题】:Content-Type for sending E-Mail does not work用于发送电子邮件的 Content-Type 不起作用
【发布时间】:2013-04-14 16:32:21
【问题描述】:

我正在尝试使用 Intent 从 Android 应用程序发送电子邮件。

我正在使用以下代码:

    Intent email = new Intent(Intent.ACTION_SEND);
    email.putExtra(Intent.EXTRA_TEXT, getString(R.string.emailText));
    email.putExtra(Intent.EXTRA_SUBJECT, "MyBackup");
    email.setType("application/zip");
    email.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("file://" + this.tmpFile));
    startActivity(Intent.createChooser(email, getString(R.string.strSendEMail)));

代码有效,我收到了电子邮件,但 ZIP 文件在电子邮件中为“纯文本”...

我做错了什么?

【问题讨论】:

    标签: android email android-intent


    【解决方案1】:

    尝试使用不同的 mimetype:

    email.setType("application/octet-stream");
    

    【讨论】:

    【解决方案2】:

    我刚刚尝试发送附有 ZIP 的电子邮件。不是来自我的程序,而是直接来自我手机的电子邮件程序。 结果相同。嗯,我认为,问题出在我的程序中不是,而是在电子邮件程序中...

    再次非常感谢您的帮助。我想,我必须搜索一个更好的程序来发送电子邮件......

    问候

    【讨论】:

      【解决方案3】:

      兄弟我也遇到了同样的问题,在准备消息和调用发送邮件方法之前使用了以下代码。只需添加以下代码。

           Message message = createMessage(toEmail, subject, messageBody, session);
                  MailcapCommandMap mc = (MailcapCommandMap) CommandMap.getDefaultCommandMap();
                  mc.addMailcap("text/html;; x-java-content-handler=com.sun.mail.handlers.text_html");
                  mc.addMailcap("text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml");
                  mc.addMailcap("text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain");
                  mc.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed");
                  mc.addMailcap("message/rfc822;; x-java-content-handler=com.sun.mail.handlers.message_rfc822");
      // Additional elements to make DSN work
                  mc.addMailcap("multipart/report;;  x-java-content-handler=com.sun.mail.dsn.multipart_report");
                  mc.addMailcap("message/delivery-status;; x-java-content-handler=com.sun.mail.dsn.message_deliverystatus");
                  mc.addMailcap("message/disposition-notification;; x-java-content-handler=com.sun.mail.dsn.message_dispositionnotification");
                  mc.addMailcap("text/rfc822-headers;;   x-java-content-handler=com.sun.mail.dsn.text_rfc822headers");
                  new SendEmail(message).execute();
      

      我在另一个帖子中找到了这个答案,请尝试让我知道它是否对您有帮助。

      【讨论】:

        猜你喜欢
        • 2016-02-11
        • 2012-08-01
        • 2018-10-30
        • 2017-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-25
        相关资源
        最近更新 更多