微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从Android上的文件发送电子邮件

如何解决从Android上的文件发送电子邮件

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

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

有没有针对这种用例的解决方案?

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

解决方法

我可以想象两种不同的方法来做到这一点,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"));

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

,

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

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

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

或者您是否手动打开文件,因为它几乎就是这样,就这样做。

,

串口

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

假设您使用 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。

抱歉,如果这不是您所需要的,我只是不太明白这个问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。