【问题标题】:how do you connect to your email using java (not javamail)你如何使用java(不是javamail)连接到你的电子邮件
【发布时间】:2014-01-26 08:46:40
【问题描述】:

有没有办法在不使用 JavaMail API 的情况下在 java 中连接到您的电子邮件收件箱(使用 netbeans IDE)?我一直在寻找一种不使用该 API 的方法,因为我正在尝试构建一个程序来读取我的电子邮件并使用 sql server 将它们存储到数据库中。有什么办法吗?

【问题讨论】:

  • 为什么不想使用 JavaMail API?当然你可以自己实现相关的协议,但是既然已经有一个知名的库,你为什么要这样做呢?
  • 事实是我会使用它,但这个程序将在不止一台没有 api 的计算机上使用,因此不兼容使用。
  • 正如我上次问这个问题时所说,如果您真的不想使用可用的 API,您将不得不自己实现协议,例如 @987654321 @ 和 imap。当您考虑 JavaMail 库的可用性时,这是一项重要的工作。与其浪费时间尝试返工已经可用的东西,不如尝试解决在目标机器上安装适当库的问题......?

标签: java javascript email netbeans


【解决方案1】:

为什么不使用 JavaMail?还有其他可用的库,例如ChilKat's - 或者您可以直接使用 POP3/IMAP,您知道在端口 110/143 上打开一个套接字并发出命令并读取响应(这是库将为您做的)。

如果您必须提供单个 JAR 文件,您可以将 JavaMail 类(和依赖项)与您自己的代码合并,或者 - 根据您的目标基础架构 - WAR 或 EAR 可能更合适。

干杯,

【讨论】:

  • 事实是我会使用它,但这个程序将在不止一台没有 api 的计算机上使用,因此不兼容使用。
  • @user3170479 为什么不能将 JavaMail(或任何其他 API)与您的程序打包在一起?
  • 这意味着您对 Java 的了解并不多,因为那是非常非常基础的东西。在你开始认真做任何事情之前,我至少会为初学者读一整本书。
【解决方案2】:

如果你想以艰难的方式做到这一点,你可以写例如一个用 Java 自己编写的 POP3 客户端。 使用 Socket,连接到正确的主机和端口(端口通常为 110)并开始发出 POP3 命令。

http://www.ietf.org/rfc/rfc1939.txt

http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html

【讨论】:

  • 事实是我会使用它,但这个程序将在不止一台没有 api 的计算机上使用,因此不兼容使用。
  • @user3170479 我明白了。好吧,你可以使用我建议的这种方法。我看到其他人现在也在建议它。
【解决方案3】:

您可以使用 Socket 类。 直接发送消息。

【讨论】:

    猜你喜欢
    • 2015-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 2012-10-29
    • 2012-04-27
    • 2018-12-18
    相关资源
    最近更新 更多