【问题标题】:What is the easiest way for a Java application to receive incoming email?Java 应用程序接收传入电子邮件的最简单方法是什么?
【发布时间】:2010-10-08 08:12:44
【问题描述】:

使用 commons-email 发送电子邮件很容易,而使用 spring 则更容易。收到收到的电子邮件怎么办?是否有易于使用的 API 允许退回电子邮件、处理附件等。

【问题讨论】:

    标签: java smtp email smtpd


    【解决方案1】:

    SubEthaSMTP Mail Server 允许您创建自己的 SMTP 服务器来接收电子邮件。

    【讨论】:

    • 绝对是一款非常干净且易于使用的产品。我有一些经验,我可以说没有多少库可以如此容易地集成。
    【解决方案2】:

    James 可能是您最好的选择,但电子邮件处理非常复杂,不仅需要配置您的 MTA(James 服务器),还需要配置 DNS。过去,我发现通过非 Java MTA(如 postfix)的钩子来启动我的处理程序更容易。 procmail 也可能对您有用。不过,对于 Java MTA,James 非常满意。

    【讨论】:

    • 詹姆斯是一个非常复杂的产品。如果您只需要接收电子邮件,不需要其他任何东西,请使用 SubEthaSMTP。如果您没有使用 James 的经验,请在其前面使用 SubEthaSMTP 和真正的电子邮件服务器(后缀),然后让它处理复杂的事情。
    • James 非常复杂,在配置它的(非常非常冗长的)xml 文件时需要注意的细微之处很少。如果您需要 java 中的邮件服务器,James 将工作。如果您需要一个应用程序邮件服务器,SubEtha+postfix 将更加更容易和理智。
    【解决方案3】:

    Apache Commons Net 是通过 POP3 获取邮件的完美库。不支持 IMAP。

    【讨论】:

    • 嗯...但是我有两个不断地轮询服务器,对吗?而不是成为服务器并闲置直到电子邮件到达......
    • 答案可能过时了? Supported protocols include: IMAP(S)
    【解决方案4】:

    查看来自 apache camel 的 Mail 组件

    http://camel.apache.org/mail.html

    【讨论】:

      【解决方案5】:

      看看 Sun 自己的 JavaMail (API docs) 是否适合您的需求。

      我不确定最简单的方法,但至少它是一种广泛使用的方法。

      【讨论】:

        【解决方案6】:

        查看 jGuru 的 JavaMail 教程here。有多种方法可以读取和分离附件。

        【讨论】:

          猜你喜欢
          • 2013-07-25
          • 1970-01-01
          • 1970-01-01
          • 2017-05-12
          • 1970-01-01
          • 1970-01-01
          • 2023-03-08
          • 2012-09-26
          • 1970-01-01
          相关资源
          最近更新 更多