Senden / Empfangen von E-Mails über die Webanwendung?

8

Ich habe eine Order Management (Web) -Anwendung (in Java / Java EE).

Die Anwendungsbenutzer möchten über die Webanwendung E-Mail-Empfang empfangen an Kunden senden, die die Bestellung aufgegeben haben. Der E-Mail-Pfad muss mit dem Auftrag verknüpft sein.

Der Anwendungsfall ist :

  1. Benutzer öffnet die Seite mit den Bestelldetails. Bestellinfo. wird angezeigt.
  2. Auf dieser Seite - Klickt auf das E-Mail-Symbol und es wird die gesamte E-Mail-Kommunikation (gesendet / empfangen) für diese Bestellung bis zum Datum angezeigt.
  3. Für diese Bestellung - Sie können neue eingehende E-Mails sehen, auf E-Mails antworten oder neue E-Mails an den Kunden senden - alles im Zusammenhang mit dieser Bestellung.

Fragen:

  1. Das Versenden von E-Mails ist einfach, aber wie man E-Mails innerhalb der App erhält?
  2. Was ist das E-Mail-Konto hier - Ein gemeinsames E-Mail-Konto namens [email protected] (und basierend auf Betreffzeile / E-Mail-Header werden gefiltert usw.) oder ist es [email protected] (in diesem Fall neue E-Mail acct creation ist erforderlich pro Bestellung) oder?
  3. Wir haben bereits Microsoft Exchange Server, über die Firma E-Mail-Reisen. Könnten wir das irgendwie nutzen oder müssen wir einen neuen Mail Server einrichten?

Irgendwelche Ideen sind willkommen.

    
Jasper 20.04.2013, 15:31
quelle

4 Antworten

3

Sie benötigen Folgendes.

  1. Java Mail-API zum programmatischen Senden von E-Mails über einen Exchange-Server.
  2. Ich würde vorschlagen, einen dedizierten E-Mail-Server zu verwenden, um anwendungsspezifische E-Mails zu erhalten. Sie können dies tun, indem Sie James verwenden. Sie können mit dieser Software E-Mails senden und empfangen.
  3. Wenn Sie Ihren vorhandenen Microsoft Exchange Server verwenden, können Sie immer eine Weiterleitung zu Ihrem anwendungsspezifischen E-Mail-Server verwenden.
IndoKnight 20.04.2013, 15:48
quelle
5

Wenn Sie bereit sind, die Abhängigkeit zu übernehmen, Spring Integration kann bequem E-Mails von einem designierten Server per Polling (POP3, IMAP) oder ereignisgesteuert (IMAP-IDLE) lesen. [1 & amp; 3]

[2] Sie können ein dediziertes E-Mail-Konto verwenden und die an die Downstream-Kanäle gesendeten E-Mails anhand des Betreffs (oder eines anderen Felds) der eingehenden E-Mail filtern. Das folgende Snippet von der Spring-Site veranschaulicht dies:

%Vor%

Wo mail-filter-expression die E-Mail filtert, die gelöscht wird receiveChannel . Für alle interessierten Parteien (Kanäle) hören Sie einen <int-mail:imap-idle-channel-adapter/> auf Ihrem Exchange-Server.

Obwohl es nicht umständlich zu verwenden ist, würde ich Ihnen empfehlen, einen kurzen Überblick über EAI nach dem Frühjahr und von EAI allgemein

    
kolossus 22.04.2013 18:20
quelle
3
  1. Empfangen Sie E-Mails Hier ist ein Beispielcode zum Lesen einer E-Mail Gibt es gute kurze Codebeispiele, die einfach eine neue Google Mail-Nachricht lesen?

  2. E-Mail-Konto hier Erstellen Sie für jeden Benutzer ein E-Mail-Konto, und verwenden Sie die Anmeldeinformationen für die Web-App des Benutzers als Anmeldeinformationen für E-Mails. Verwenden Sie Hash-Auftrags-ID als Teil des Betreffs, um jede E-Mail-Kette mit einer bestimmten Reihenfolge in Beziehung zu setzen.

  3. Microsoft Exchange Server Verwenden Sie entweder exJello ist ein JavaMail-Anbieter ( Ссылка ) ODER Verwenden Sie die JavaMail-API mit dem DavMail-Gateway ( Ссылка )

Gladwin B 27.04.2013 17:04
quelle
1

Aus meiner Sicht ist es schwieriger, ein bestimmtes Thema zu behalten. Ich würde vorschlagen, eine Sub-Domain wie myapp.myorg.com oder eine neue Domain wie myapp.com

Beide Wege haben alle einen Haken, so dass alle Mails an eine bestimmte Email wie [email protected]

gehen

Dann kann Ihr Skript den echten TO überprüfen. Dies könnte natürlicher und "cool" - & gt; Jede Bestellung hat ihre eigene Mail-ID! Verwenden Sie außerdem James oder andere Mail-Software, um den Code zu erhalten.

    
tgkprog 30.04.2013 09:51
quelle