이 문서에서는 Gmail API를 사용하여 이메일 메시지를 만들고 전송하는 방법을 설명합니다.
Gmail API를 사용하여 이메일을 보내는 방법은 두 가지입니다.
messages.send메서드를 사용하여 직접 보낼 수 있습니다.drafts.send메서드를 사용하여 초안에서 보낼 수 있습니다. 임시 메일 전송에 대한 자세한 내용은 임시 메일 전송을 참고하세요.
Gmail 메시지는 messages 리소스의 raw 필드 내에서 base64URL로 인코딩된 문자열로 전송됩니다. 이메일 메시지를 보내려면 다음 단계를 따르세요.
- 이메일 콘텐츠를 만들고 base64URL 문자열로 인코딩합니다.
- 새 메시지 리소스를 만들고
raw속성을 방금 만든 base64URL 문자열로 설정합니다. messages.send메서드를 호출하거나, 초안을 보내는 경우drafts.send메서드를 호출하여 메시지를 보냅니다.
이 워크플로의 세부사항은 선택한 클라이언트 라이브러리 및 프로그래밍 언어에 따라 다를 수 있습니다.
메시지 만들기
Gmail API에는 RFC 2822를 준수하고 base64URL 문자열로 인코딩된 MIME 이메일 메시지가 필요합니다. 많은 프로그래밍 언어에는 MIME 메시지 생성 및 인코딩 프로세스를 간소화하는 라이브러리나 유틸리티가 있습니다.
다음 코드 샘플은 다양한 언어의 Google API 클라이언트 라이브러리를 사용하여 MIME 메시지를 만드는 방법을 보여줍니다.
자바
javax.mail.internet 패키지의 MimeMessage 클래스를 사용하면 이메일 메시지 생성을 간소화할 수 있습니다. 다음 코드 샘플은 헤더를 포함한 이메일 메시지를 만드는 방법을 보여줍니다.
그런 다음 MimeMessage를 인코딩하고 messages 객체를 인스턴스화하고 base64URL 인코딩된 메시지 문자열을 raw 속성의 값으로 설정합니다.
Python
다음 코드 샘플은 MIME 메시지를 만들고, base64URL 문자열로 인코딩하고, messages 리소스의 raw 필드에 할당하는 방법을 보여줍니다.
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/drafts' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"message":{"raw":"MESSAGE"}}'
다음을 바꿉니다.
ACCESS_TOKEN: API에 대한 액세스 권한을 부여하는 액세스 토큰입니다.MESSAGE: RFC 2822 형식의 MIME 메시지로, base64URL로 인코딩됩니다.
첨부파일이 있는 메일 만들기
첨부파일이 있는 메시지를 만드는 것은 다른 메시지를 만드는 것과 비슷하지만 파일을 멀티파트 MIME 메시지로 업로드하는 프로세스는 프로그래밍 언어에 따라 다릅니다.
다음 코드 샘플은 첨부파일이 있는 멀티파트 MIME 메시지를 만드는 가능한 방법을 보여줍니다.
자바
다음 코드 샘플은 여러 부분으로 구성된 MIME 메시지를 만드는 방법을 보여줍니다. 인코딩 및 할당 단계는 메시지 만들기와 동일합니다.
Python
메시지 만들기 예와 마찬가지로 이 예에서도 메시지를 base64URL로 인코딩하고 messages 리소스의 raw 필드에 할당합니다.
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/drafts' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"message":{"raw":"MESSAGE"}}'
다음을 바꿉니다.
ACCESS_TOKEN: API에 대한 액세스 권한을 부여하는 액세스 토큰입니다.MESSAGE: 첨부파일이 포함된 RFC 2822 형식의 MIME 메시지로, base64URL로 인코딩됩니다.
메시지 보내기
메시지를 만든 후 다음 예와 같이 messages.send 메서드의 요청 본문에 제공하여 보낼 수 있습니다.
자바
Python
cURL
curl --request POST \
'https://gmail.googleapis.com/gmail/v1/users/me/messages/send' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"raw":"MESSAGE"}'
다음을 바꿉니다.
ACCESS_TOKEN: API에 대한 액세스 권한을 부여하는 액세스 토큰입니다.MESSAGE: RFC 2822 형식의 MIME 메시지로, base64URL로 인코딩됩니다.
답장을 보내려고 하는데 이메일이 대화목록으로 그룹화되기를 원하는 경우 다음을 확인하세요.
Subject헤더가 일치합니다.References및In-Reply-To헤더는 RFC 2822 표준을 따릅니다.