[GCP] gmail-api

목차

일단 발신자 주소 변경에 굉장히 엄격한 기준이 적용 되어 상용(Product)으로는 쓰기 어렵다고 판단하였으나 자사 도메인으로 보내는 메일 주소라던가 조건이 맞는다면 한번쯤은 시도 해볼만한 가치가 있을것 같기도 하다

  • envrioment

    • GWS mail account

    • GCP oauth : client.json

  • Authentication & Authorization

  • Security & DNS

    • DKIM

    • SPF

    • SSL Cert

  • code

  • 제약사항

    • mail send user config

      • app Engine -> config -> email sender

Code

send_mail() function 예제

send_mail() function

    mail.send_mail(sender=sender_address,
                 to="Albert Johnson <Albert.Johnson@example.com>",
                 subject="Your account has been approved",
                 body="""Dear Albert:

Your example.com account has been approved.  You can now visit
http://www.example.com/ and sign in using your Google Account to
access new features.

Please let us know if you have any questions.

The example.com Team
""")
EmailMessage.send() function 예제

EmailMessage.send() function

인증 절차를 포함한 완성된 코드

  • 메일 발신용 test code

  • oauth로 생성한 client와 json 파일을 경로에 잘 넣어준다.

    • kth-desktop-client-secret.json

제약 사항


한도
용량

발신 메일 메시지 최대 크기(첨부파일 포함)

31.5MB

수신 메일 메시지 최대 크기(첨부파일 포함)

31.5MB

수신자가 관리자인 경우의 최대 메시지 크기

16KB

승인된 최대 발신자 수

50

  • 모든 대량 이메일의 발신자는 같아야 합니다. Mail API 함수를 호출하여 이메일을 보내는 경우, 사용자가 지정하는 발신자와 일치하도록 From 헤더가 설정됩니다.

  • 발신자 주소는 Google Workspace 도메인의 계정이어야 합니다. 도메인이 아직 무료 체험 기간 중이거나 사용자가 6명 미만인 경우, 스팸으로 표시된 이메일을 너무 많이 보내는 Google 계정이 일시적으로 중지될 수 있습니다. 이 경우 Mail API가 Unauthorized sender 오류 메시지와 함께 예외를 발생시킵니다.

  • App Engine을 사용하여 보내는 경우, G Suite 도메인이 필요한 DKIM으로 이메일에 서명합니다. 스팸 발송자가 메일 발신자의 주소를 위장하지 못하도록 SPF 레코드를 게시합니다. SPF가 메일 발신자의 DNS 레코드에 게시된 IP 주소에서 이메일이 보내진 것인지 확인합니다. App Engine의 메일 발신자는 apphosting.bounces.google.com 도메인에 있으므로, SPF 레코드를 사용하여 App Engine의 이메일이 배달되어야 하는지 여부를 결정하지 못할 수도 있습니다.


Last updated