GMail API로 메일 보내기(Java)

4546 단어 gcpgmail

소개



Java로 GMail API

이 예에서는 메일 계정 소유자를 대신하여 메일을 보내기 때문에,
제출하기 전에 OAuth 인증 의 계정 소유자로부터 허가를 받아야 합니다.

※ 계정 소유자에게 인증시키는 대신 서비스 계정을 사용하는 패턴은 여기

개요



필요한 것


  • GCP 프로젝트
  • Gmail 계정
  • 샘플 소스

  • 환경 작성 절차





    샘플 소스의 처리 흐름





    뭐든지 움직이고 싶어



    그런 느낌으로 시험해 보겠습니다.

    실행 환경 만들기



    (a-1) GCP에 프로젝트 생성

    GCP 에서 적절하게 프로젝트를 준비합니다.

    (a-2) API 사용

    해당 프로젝트에서 API 및 서비스에서 Gmail API를 찾아 활성화합니다.
    다음과 같이.




    (a-3) 소스 준비

    GitHub에서 가져오기 하고 대상 메드 을 적절히 수정하십시오.
    소스 메드는 인증 화면에서 허가한 사람의 것이 사용됩니다.

    또한 공식 가이드는 다음 장소에 있으며, 이번 샘플은 거의 여기에서 (이하 약)
  • 인증 주위
  • 메일 전송 주위

  • (a-4) 프로젝트의 OAuth2.0 클라이언트 ID 획득

    우선 적당히 OAuth 동의 화면을 만듭니다.
    이름만 있으면 좋을 것 같습니다.

    그런 다음 OAuth 클라이언트 ID를 만들고 json 파일로 다운로드합니다.






    이상입니다.
    그리고는 IDE를 사용해 jar로 하는 것으로 실행할 수 있습니다.

    실행해 보면 · ·



    처음 실행하면 다음과 같은 인증 화면이 표시됩니다.



    위 화면에서 권한을 클릭하면 이메일이 전송됩니다.

    이 때 맞추어 로컬로 액세스 토큰과 리프레시
    토큰도 저장됩니다.

    재실행 시에는 상기 토큰이 사용되므로 인증 화면은 나오지 않습니다.

    주의점 등



    OAuth 인증으로 허용되는 작업 정보



    이 예제에서는 메일 전송 범위만을 요청합니다.
    다른 작업을 수행하려면 적절한 범위을 요청해야 합니다.

    새로 고침 토큰 만료



    이번에는 가볍게 시도하기 때문에 신경 쓰지 않지만 프로덕션에서는 계정 소유자에 의해
    일부 조작 에 의해 토큰이 만료되는 점도 고려해야 합니다.

    이상입니다.

    좋은 웹페이지 즐겨찾기