【问题标题】:Sending email from a file on android从android上的文件发送电子邮件
【发布时间】:2021-09-14 16:48:42
【问题描述】:

我正在开发一些将在离线电脑上运行的应用程序。 这个应用程序应该准备一些电子邮件到文件(txt、eml、msg、..)。该文件应包含主题、文本,最好还包含附件或附件路径。

然后通过 USB 电缆或蓝牙将此文件复制到具有互联网连接的 android 设备,然后尽可能轻松地发送电子邮件 - 我的想法是使用电子邮件客户端打开文件并单击发送?

这种用例有解决方案吗?

(请不要建议我创建热点并直接从电脑发送,在这种情况下这是不可能的。)

【问题讨论】:

  • 可能是我,但您的问题令人困惑。也许尝试改写?
  • 如果电子邮件的附件位于 PC 中,并且指定的路径来自您提到的文件(txt、eml 等)中的 PC 示例 C:\..\Desktop,该怎么办。那么该文件将如何在 Android 中被引用呢?
  • 您是否也创建了 Android 应用来执行此电子邮件发送任务?

标签: android email gmail msg eml


【解决方案1】:

我可以想象两种不同的方式来做到这一点,1-使用意图 2-使用网络服务; 这两种方法的第一步都是从文件中提取数据。现在假设您要使用意图。为此,您可以使用以下代码:

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, "emailaddress@emailaddress.com");
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT, "I'm email body.");
startActivity(Intent.createChooser(intent, "Send Email"));

另一种方法是创建用于发送电子邮件的 Web 服务。为此,您可以参考https://stackoverflow.com/a/6270987/12500284; 然后您应该通过 android 应用程序调用此 API 并将数据传递给它。这种方法的优点是无需用户参与即可发送电子邮件。

【讨论】:

    【解决方案2】:

    将 Outlook 邮件另存为邮件文件File - Save

    然后把它放在你的手机上然后打开它?

    我对此感到困惑,这是为了强制手机从 PC 发送电子邮件,您是否要求我们为您编写蠕虫?

    或者你是手动打开文件,因为那是字面意思,就那样做吧。

    【讨论】:

      【解决方案3】:

      串口

      请您编辑问题并为离线电脑指定编码语言。

      假设您使用 c# 进行编码,您可以使用 System.IO.Ports 中的 SerialPort 类和 SerialPortObject 通过 USB 发送数据。

      当我使用它时,我的看起来像这样:

      using System.IO.Ports;
      
      string[] ports = SerialPort.GetPortNames();
      
      try
      {
          SerialPortObject.PortName = ports[0].ToString();
          SerialPortObject.Open();
      }
      catch (Exception ex)
      {                
          Console.WriteLine(ex.Message);
      }
      
      SerialPortObject.Write("Hello World");
      string response = SerialPortObject.ReadLine();
      

      注意:通过使用端口[0],我正在尝试连接到找到的第一个串行端口。 此外,您可以通过 JSON 发送数据,以确保其全部在一个长字符串中。

      正如微软所说:

      如果输出缓冲区中有太多字节并且 Handshake 设置为 XOnXOff,则 SerialPort 对象可能会在等待设备准备好接受更多数据时引发 TimeoutException。

      对不起,如果这不是您需要的,我只是不太明白这个问题。

      【讨论】:

        猜你喜欢
        • 2017-01-16
        • 2015-02-10
        • 2016-12-20
        • 2017-10-17
        • 2017-05-06
        • 1970-01-01
        • 1970-01-01
        • 2017-01-03
        • 2013-08-20
        相关资源
        最近更新 更多