【问题标题】:Send email with attachment in Android. Works on Gmail but not on Outlook在 Android 中发送带有附件的电子邮件。适用于 Gmail 但不适用于 Outlook
【发布时间】:2014-03-12 14:39:30
【问题描述】:

因此,我可以通过我的 Android 应用在 Gmail 上发送带有附件的电子邮件。在 Outlook 上看起来它正在附加文件(.txt),但是当我打开邮件时没有附加文件。

这是我的代码:

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
Uri uriFileToShare = Uri.fromFile(file);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, file.getName());
emailIntent.putExtra(android.content.Intent.EXTRA_STREAM, uriFileToShare);
this.startActivityForResult(Intent.createChooser(emailIntent, activity.getString(R.string.send)+" "+file.getName()+" "+activity.getString(R.string.by_email)),code);

我尝试了不同的解决方案,但没有结果。

文件当然存在且不为空。正如我所说,Gmail 已正确附加。

有什么想法吗?

【问题讨论】:

  • 纯文本的 MIME 类型是 text/plain,而不是 plain/text
  • 有没有可能有人解决了这个问题?

标签: android email outlook gmail


【解决方案1】:

此代码适用于 Outlook 文件附件。

public static void emailLog(Context context) {
    Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
    emailIntent.setType("text/html");
    String filePath = fileDir + "/" + fileName;
    emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{""});
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
    File recordingFile = new File(filePath);
    Uri fileUri = Uri.fromFile(recordingFile);
    emailIntent.putExtra(Intent.EXTRA_STREAM, fileUri);
    context.startActivity(Intent.createChooser(emailIntent, "Some text..."));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-07
    • 2019-03-30
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多