2012-11-23 3 views
1

자바 메일 API를 사용하여 Gmail 계정으로 메일을 보내고 있습니다. 내 요구 사항은 메일을 보낼 때 내 로컬 데이터베이스에 몇 가지 추가 정보를 저장하기 위해 메시지 ID (또는 고유 한 ID는)가 필요합니다.메일을 보낼 때 Gmail 메시지 ID를 얻는 방법은 무엇입니까?

Transport.send() 메서드는 값을 반환하지 않으므로 메일의 ID를 가져올 수 없습니까?

그래서 두 가지 질문 :

1) 사람이 전송시 메일의 Gmail에 ID를 얻을 수있는 방법으로 나를 도와 드릴까요?

2) "Message-ID"가 메일의 고유 식별자입니까?

미리 감사드립니다.

답변

3

JavaMail은 메시지를 보낼 때 Message-ID를 설정합니다. msg.getMessageID()를 사용하여 메시지를 보낸 후에 메시지에서 읽을 수 있습니다.

+0

대단히 감사합니다 ..! 그게 효과가있다. –

+0

이것은 작동하지 않습니다. MimeMessage를 생성하지만, getMessageID()는 IMAPMessage (public 생성자가없는 서브 클래스)에서만 구현됩니다. 어떻게해야합니까? –

+0

[이 방법] (https://javamail.java.net/nonav/docs/api/javax/mail/internet/MimeMessage.html#getMessageID--)을 사용하고 있습니까? –

1

Message-Id는 고유 한 메일 식별자 (see wiki)가 있어야하지만 메일 ID를 얻으려면 메일러에서 직접 생성해야합니다 (메일러가 서버에서 생성 한 것입니다. 서버에서 생성하지 않습니다). 또는 어떤 종류의 API를 사용하는 경우 그것은 당신을 위해 이것을 찾아내는 방법을 제공 할 것입니다. 그렇지 않은 경우 해당 메일 본문 (즉, BCC 자체)을 가져 와서 메시지에서 추출해야 할 수 있습니다.

관련 문제