保存文件,然后通过邮件发送

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了保存文件,然后通过邮件发送相关的知识,希望对你有一定的参考价值。

我尝试保存文本文件,然后想通过邮件将其作为附件发送。我可以保存文件但是当我用“Extra_Stream”发送时,手机会说,它无法发送文件。

i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_EMAIL, new String[]{"muellerswickrath@gmail.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "Zeiterfassung");
StringBuilder sb = new StringBuilder();
sb.append(monteur.getText().toString() + " - Auftrag: " + auftrag.getText().toString() + "
");

sb.append("*** Start *** 
");
for (int w = 0; w < x; w++) {
    sb.append(list.get(w).toString());
    sb.append("
");
}
sb.append("*** Ende ***");
i.putExtra(Intent.EXTRA_TEXT, sb.toString());


String filename =  "muellers.xml";
String senden = "Testdatei";


FileOutputStream outputStream;

try {
    outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
    outputStream.write(senden.toString().getBytes());
    outputStream.close();
} catch (Exception e) {

    e.printStackTrace();
}

i.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+filename));

你能帮助我吗?

来自德国沃尔夫冈的问候

答案

这是我用来发送附件的意图:

        Intent emailIntent = new Intent(Intent.ACTION_SEND);
        emailIntent.setType("plain/text");
        emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Email Subject");
        emailIntent.putExtra(Intent.EXTRA_TEXT, "Email message");
        emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(outputFile));
        context.startActivity(Intent.createChooser(emailIntent, "Send email..."));

以上是关于保存文件,然后通过邮件发送的主要内容,如果未能解决你的问题,请参考以下文章

Android - 文件提供商 - 通过电子邮件发送文件

Javascript - 使用 HTML 片段通过电子邮件发送 JSON 输出

android导出到csv并作为电子邮件附件发送

请问谁有发送邮件的那个网页 HTML 源代码

C#和ASP.NET通过Gmail账户发送邮件的代码

C# 如何从 Outlook 的共享邮箱发送邮件并将其保存在已发送文件夹中