2017-09-07 6 views
0

Gmail 용 Chrome 확장 프로그램을 제작 중입니다. 전자 메일을 보내거나 전자 메일을 보내기 바로 전에 내 확장 프로그램에서 "메시지 ID"를 얻고 싶습니다. 그것을 어떻게 성취 할 수 있습니까?Gmail에서 이메일을 보내기 전후에 메시지 ID를 가져 오는 방법은 무엇입니까?

Gmail에서 메시지 ID는 어떻게 생성됩니까?

이메일을 보내기 전에 생성 되나요?

참고 : 전자 메일 기능을 재정의하지 않습니다. Gmail에서 이메일을 보낼 때 고유 한 emailID가 필요합니다.

Gmail API에 대한 요청에이 이메일 ID를 전달하여 이메일 데이터를 응답으로받을 수 있습니다.

답변

0

내 경험에 비추어 볼 때 전자 메일을 보내면 생성됩니다. 초안 메시지가있는 경우 ID가 있지만 전송되면이 ID는받은 편지함에서 검색하는 데 사용할 수있는 messageID (다른 값)로 변환됩니다. 이 related SO post을 확인하면 messageID와 draftID의 차이점을 알 수 있습니다. 예를 들어 Gmail API advance Service을 사용하는 Apps 스크립트의 Mogzdad's code 스 니펫은 이메일을 보낸 후 ID를 반환합니다.

/** 
* Send a raw RFC 2822 formatted and base64url encoded email 
* using the Advanced Gmail service. 
* 
* From http://stackoverflow.com/a/35073785/1677912 
* 
* @param {String} raw RFC 2822 formatted and base64url encoded message 
* 
* @returns {String}  Message ID of the message (now in Sent Messages). 
*/ 
function sendRawMessage(raw) { 
    var message = Gmail.newMessage(); 
    message.raw = raw; 
    var sentMsg = Gmail.Users.Messages.send(message, 'me'); 
    return sentMsg.id; 
} 

희망이 있습니다.

+0

응답 해 주셔서 감사합니다. 전자 메일을 보낸 후에 메시지 ID를 얻을 수 있습니까? 그리고 저는 Gmail 서비스를 무시하고 싶지 않습니다. 전자 메일은 평소와 같이 보내지 만 필요한 것은 메시지 ID입니다. –

+0

예, 앱 스크립트 콘솔을 사용하여 코드를 테스트 할 수 있습니다. –