어떻게 보내는 이메일 첨부 파일을 사용하여 지정된 클라이언트에서 프로그래밍 방식으로 Java

StackOverflow https://stackoverflow.com/questions/81862

  •  09-06-2019
  •  | 
  •  

문제

고 싶을 격려하는 사용자의 우리의 RCP 응용 프로그램을 보낼 문제에 상세정보를 우리의 지원 부서입니다.이를 위해 추가했"접촉 지원젯"우리의 표준 오류가 대화합니다.

I've managed 을 사용하여 URI 에 헤더를 보내 stacktrace Java 를 사용하여 6 개의 JDIC 전화: Desktop.getDesktop().mail(java.net.URI).이것은 화재 사용자의 메일 클라이언트를 위한 준비를 추가하는 그들에게 그들의 의견,그리고 보내기를 누르십시오.

나는 다음과 같 발사 이메일 클라이언트이기 때문에,그것의 사용자가 사용하는 지원하는 전체에 대해 많은 사용자가(통신,연락처 등)를 정말 원 배송 Java Mail.

내가 무엇을 하고 싶은 첨부 로그 파일을 stacktrace 로 파일이 없다 그래서 최대 길이의 요구 사항 및 사용자에게 좋은 깨끗하고 이메일이 지원 부서에는 더 많은 정보와 함께 작동합니다.

할 수 있습니와 함께 이렇게 접근법어요?또는 더 나은 방법이 있을까?

편집:나 OSGi 컨텍스트,그래서 묶 JDIC 이 필요합니다.가능하면 나는 같은 배송과 함께 종속성으로 가능하고 번들에 JDIC 는 여러 플랫폼에 대한 소리가 나지 않는 재미,특히 같은 작은 기능입니다.

JavaMail 적합 할 수 있지만,는 사실에 대해 이 데스크톱에서 우리의 회사는 클라이언트.이 설정/검색성 어야 할 것이 투명,자동적이고 신뢰할 수 있습니다.에 관한 JavaMail,구성 될 것으로 보인 수동니다.이 경우는?

응답 내가 가장 좋아하는 사용 Desktop.open() 는*.eml 파일입니다.불행하게도 아웃룩 익스프레스(보다 전망)열 eml 파일.나는 아무 생각이 없다면 이것은 보통 또는 기본 윈도록 구성을 열 EML 파일은 이렇습니다.이는 평소?또는 다른 텍스트 기반의 형식으로 a)은 쉽게 생성,b)열에 의해서 기본적으로 동일한 이메일 클라이언트가 같이 사용자가 사용하는 것입니까?

도움이 되었습니까?

해결책

저장할 수 있는 임시입니다.eml 파일,데스크톱.getDesktop().open(emlFile)
편집: 당신,이것이 불행하게도 오픈 outlook express 대신 outlook.
그러나 있을 경우 윈도우 라이브 메일이 설치되어,그것을 사용하는 것입니다.

다른 팁

만약 당신이 사용하는 JDK6(당신이 정말로 해야한다),데스크탑 API 의 JRE.보 http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/ 자세한 내용은.

으로 완전히 다른 방법의 취급 같은 문제는 우리가 사용하여 버그를 추적 XML-RPC 인터페이스,그리고 우리의(RCP 또한,btw)응용 프로그램 회담을 사용하여 사용자 지정 제출을 대화입니다.그것이 의미하는 로그 파일을 진단하는 데 문제가 필요 없이 사용자가 그들을 찾을 수 있습니다.

나는 확실히 대부분의 버그 추적자들은 뭔가 다음과 같이 사용할 수 있다.우리가 사용하는 Jira,그리고 그것은 좋은 작품(분,그들은 그냥 발표 개인전에 쉽게 하려고).

를 사용하는 방법을 설정할 수 있습니다 제목하고 본문 텍스트와 같은 URI

mailto:me@here.com?SUBJECT=Support mail&BODY=This is a support mail

그러나,길이의 주제와 신체 텍스트 일부 제한 사항

방법은 없습니다 생각할 수 있을 연결을 사용하여 파일 이 방법 또는 이와 유사한(추가하지 않고 javamail 앱)

JDIC 지 않을 수도 있습에 사용할 수 있는 사용자의 플랫폼입니다.를 할 수 있는 좋은 방법이 사용하 javamail API 를 사용합니다.을 보낼 수 있습니다 multi-일부 전자 메일 메시지로 설명이드에서 태양:

첨부 파일을 전송하는

import java.awt.Desktop;
import java.io.File;
import java.net.URI;


public class TestMail {

    public static void main(String[] args) {
        try {       
         Runtime.getRuntime().exec(
                  new String[] {"rundll32", "url.dll,FileProtocolHandler",
                        "mailto:a@a.de?subject=someSubject&cc=a@a.de&bcc=a@a.de&body=someBodyText&Attach=c:\\test\\test.doc"}, null
                  );


        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top