Ich möchte unsere Benutzer unserer RCP-Anwendung ermutigen, die Problemdetails an unsere Supportabteilung zu senden. Zu diesem Zweck habe ich ein "Contact support" -Widget zu unserem Standardfehlerdialog hinzugefügt.Wie sende ich einen E-Mail-Anhang mit dem angegebenen Client, programmgesteuert von Java
Ich habe es geschafft, URI-Header zu verwenden, um einen Stacktrace mit dem JDIC-Aufruf von Java 6 zu senden: Desktop.getDesktop().mail(java.net.URI)
. Dadurch wird der E-Mail-Client des Benutzers gestartet, damit sie ihre Kommentare hinzufügen und auf Senden klicken können.
Ich mag es, den E-Mail-Client zu feuern, weil es das ist, was der Benutzer gewohnt ist, es sagt Unterstützung eine ganze Menge über den Benutzer (sigs, Kontaktdaten usw.) und ich will nicht wirklich to ship with Java Mail.
Ich möchte die Protokolldatei und den Stacktrace als Datei anhängen, so dass keine maximale Länge erforderlich ist, und der Benutzer sieht eine nette, sauber aussehende E-Mail, und die Supportabteilung hat viele weitere Informationen arbeiten mit.
Kann ich dies mit meinem Ansatz machen? Oder gibt es einen besseren Weg?
Bearbeiten: Ich bin in einem OSGi-Kontext, so Bündelung JDIC wäre notwendig. Wenn möglich, würde ich gerne mit so wenig Abhängigkeiten wie möglich liefern, und die Bündelung der JDIC für mehrere Plattformen hört sich nicht lustig an, besonders für solch eine kleine Funktion.
JavaMail kann geeignet sein, aber für die Tatsache, dass dies auf den Desktops unserer Firmenkunden sein wird. Die Einrichtung/Entdeckung der Konfiguration müsste transparent, automatisch und zuverlässig sein. In Bezug auf JavaMail scheint die Konfiguration nur manuell zu sein. Ist das der Fall?
Die Antwort, die ich am meisten mag, ist die Verwendung der Desktop.open()
für eine * .eml-Datei. Leider Outlook Express (anstelle von Outlook) öffnet Eml-Dateien. Ich habe keine Ahnung, ob das üblich ist oder Windows standardmäßig dafür konfiguriert ist, EML-Dateien wie diese zu öffnen. Ist das üblich? Oder gibt es ein anderes textbasiertes Format, das a) einfach zu generieren ist, b) standardmäßig im selben E-Mail-Client geöffnet wird, den Benutzer bereits verwenden?
Das ist genial. Leider ist Outlook in dieser Entwicklungsumgebung der Standard-E-Mail-Client und Outlook Express ist die Standardanwendung für EML-Dateien. – jamesh