【问题标题】:Accessing email in a transparent fashion以透明的方式访问电子邮件
【发布时间】:2010-07-10 16:57:49
【问题描述】:

如何在不以任何方式干扰使用标准电子邮件客户端(如 Thunderbird)的用户访问电子邮件时?

P.S:我已将此标记为与 Java 和语言无关,因此该方法可以在一般步骤中描述或以编程方式详细说明。

【问题讨论】:

    标签: java language-agnostic email intercept


    【解决方案1】:

    您想以编程方式直接通过网络访问邮件服务器。您只需要知道邮件服务器的地址(URL)(通常是smtp.domain.com)、端口号(通常是25)和登录用户名和密码(邮件中现有的邮件帐户之一)服务器)。

    在底层,你需要知道socket programming。在 Java 中,有 java.net.Socket API 用于此目的。另请参阅this tutorial。要与邮件服务器通信,您需要学习SMTPIMAP 协议,具体取决于相关邮件服务器的理解,以相应地通过套接字以字节形式发送/检索命令。

    在高级方面,您可以使用更方便的 API,它不需要您了解低级细节(可能非常复杂和冗长)。在 Java 中,您可以为此使用 JavaMail API。它有一个很棒的FAQ,里面有很多代码示例。

    【讨论】:

    • 好的,这是一个清晰的清单,可以查看。我只需要弄清楚是否有可能在没有被标记为已咨询的情况下收到一封电子邮件,因为这是不可取的。这是为了避免邮件服务器在电子邮件被普通客户端下载之前删除它。如果不可能,也许有一种方法可以“监听”传入的电子邮件或与邮件客户端交互。
    • 这可以通过 JavaMail 实现。
    • 太棒了。万一有人想知道,这个想法不是窃听人们的电子邮件,而是探索在其他媒介不可用时使用电子邮件作为交换原始信息的一种方式的可能性。
    • 这有点异想天开。您可以通过 SMTP 发送和接收电子邮件,但不能真正拦截已经在进行的流量。这个问题听起来更像是您想探索已经发送的电子邮件,可能是本地发送的,也可能是通过 POP3 或 IMAP 发送的,这个答案只是间接提及,没有解释它与 SMTP 有何不同。
    猜你喜欢
    • 2012-07-25
    • 1970-01-01
    • 2017-08-02
    • 2015-01-09
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    • 2012-06-23
    相关资源
    最近更新 更多