【问题标题】:How to make reply of an email becomes a HttpRequestServlet to a web application?如何使电子邮件回复成为 Web 应用程序的 HttpRequestServlet?
【发布时间】:2012-12-14 07:46:04
【问题描述】:

我有一个不知道如何开始的需求。

要求:

应用程序将使用与 support@mydomain.com 相同的“发件人电子邮件地址”向客户端(使用 org.springframework.mail.javamail.JavaMailSender)发送电子邮件。此外,电子邮件内容将包含一些隐藏信息,例如 client_id。如果客户端回复该电子邮件,我需要将其作为 HttpServletRequest 发送到 Servlet,以便我可以处理它。

编辑: 此网络应用程序没有设置谷歌应用引擎,但我的要求与this link 类似。

【问题讨论】:

    标签: java spring servlets


    【解决方案1】:

    当有人回复您发送给他的邮件时,该邮件将发送到为您的域配置的 POP3 服务器。从此 SMTP 服务器可以使用 Java Mail API 读取此邮件。您可以设置一个 Spring 计时器任务,每隔几秒继续轮询此邮箱。

    我会查看以下资源以了解如何从 POP3 服务器读取邮件 -

    使用 JavaMail API -

    http://metoojava.wordpress.com/2010/03/21/java-code-to-receive-mail-using-javamailapi

    使用 Spring -

    http://blog.solidcraft.eu/2011/04/read-emails-from-imap-with-spring.html

    【讨论】:

    • POP3 通常与它无关。
    【解决方案2】:

    更好和流行的解决方案是在您的电子邮件中添加一个链接并要求用户单击它并明确要求不要回复此电子邮件(发件人地址可以是 noreply@domain.com)

    要在电子邮件回复中获取 servlet 调用,您需要使用

    http://javamail.kenai.com/nonav/javadocs/com/sun/mail/pop3/package-summary.html

    使用 POP 继续在您的回复地址(例如 support@domain.com)中轮询新电子邮件,并在新电子邮件到来时触发 httprequest(HttpClient? )。

    在相关说明中,您可以使用+ 回复电子邮件地址添加 user_id 和类似内容 例如support@domain.comsupport+uid_21_catid_32@domain.com 将交付到相同的地址。 + 之后的所有内容都被忽略。但是您将在回复电子邮件事件中获得有关地址并决定谁是用户的信息。如果没有正确实施,这肯定是一个安全问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-20
      • 2010-12-20
      • 1970-01-01
      • 2013-09-21
      • 1970-01-01
      • 1970-01-01
      • 2014-01-27
      相关资源
      最近更新 更多