我正在尝试使用Intent从Android App发送电子邮件。
我正在使用以下代码:
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文件在电子邮件中是“普通/文本”......
我做错了什么?
答案 0 :(得分:0)
尝试使用其他mimetype:
email.setType("application/octet-stream");
答案 1 :(得分:0)
我刚刚尝试发送附有ZIP的电子邮件。不是来自我的程序,而是直接来自我手机的电子邮件程序。 结果相同。嗯,我认为,问题在我的程序中不,但在电子邮件程序中......
再次感谢您的帮助。我想,我必须搜索更好的程序来发送电子邮件......
此致
答案 2 :(得分:0)
兄弟我也被同样的问题困住了,在准备消息和调用发送邮件方法之前使用了以下代码。只需添加以下代码。
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();
我在另一个帖子中找到了这个答案,请尝试告诉我它是否对您有帮助。