데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      MailGun API로 메일 보내기 2편

      마법거북이 22.10.19
      2,380 6 0

      1편에서 메일을 보냈을 때, 스팸 메일함으로 들어간것을 볼 수 있습니다.

      이유는 대부분의 이메일 서버는 DMARC라는 정책에 따라서 인증되지 않은 이메일은 허용하지 않기 때문입니다

      그래서 인증된 도메인을 사용해서 발송을 해야 합니다.


      지금 부터는 비용이 발생할 수 있으니 참고 부탁드립니다.

      우선 저는 GCP를 통해서 도메인을 구매해 보겠습니다.

      GCP Cloud Domains 에서 구매가 가능합니다. (가비아, 카페24 에서 구입해도 됩니다)

      GCP에서는 *.co.kr 와 같은 도메인 구매는 어렵습니다.

      cloud.google.com 으로 들어가서 프로젝트를 설정 후에

      왼쪽 햄버거 메뉴를 눌러서 네트워킹 - 네트워크 서비스 - Cloud Domains 로 이동합니다.


      도메인 등록 버튼을 누르고

      원하는 도메인을 검색 한 후에, DNS구성, 개인정보 보호, 연락처 세부 정보를 등록합니다.

      나중에 예약된 도메인을 조회해 보면 누가 도메인을 구매했는지 알 수 있습니다.


      저는 petmit.com 도메인을 구입할려고 했으나, 이미 해외에 선점되어 있어서

      petmit.co.kr, petmit.net, petmit.org 를 구매했습니다.

      Cloud Domains 메뉴에서 윗쪽의 도메인등록을 누릅니다.



      원하는 도메인을 검색해서 장바구니 버튼을 눌러서 담습니다.





      도메인이 만들어지고 나서 도메인을 조회 해보면 잘 등록되어 있습니다.



      자 이제 구매한 도메인을 MailGun 을 통해서 보낼수 있게 도메인을 등록합니다.

      왼쪽 메뉴트리에서 Sending - Domains 를 누른 다음에 Add Domains 버튼을 클릭합니다.




      구매한 도메인의 정보를 입력합니다.



      이제 레코드 등록을 통해 메일을 보내었을 때 인증 받을 수 있도록 셋팅해야 합니다.

      4가지 단계가 있는데요 어렵지 않습니다. 하나씩 DNS 레코드를 생성하고 값을 넣어줍니다.



      DNS 레코드가 무엇입니까?

      DNS는 Domain Name System의 약자로, 인터넷에서 웹사이트 정보를 보유하고 있는 정보시스템입니다.

      DNS 상에서 도메인에 관한 설정을 하기 위해 사용되는 일련의 문자들을 DNS 레코드라고 통칭하는데요, 네이버웍스에서는 도메인 설정 과정에서 MX 레코드, TXT 레코드, CNAME 레코드를 사용합니다.

      해당 DNS 레코드의 성격에 따라 이를 이용해 메일 서버 사용 설정을 하거나 소유한 도메인의 소유권 확인 설정을 할 수 있습니다.

      • MX 레코드 : 메일 교환 레코드(Mail eXchanger record)의 줄임말로, 메일을 수신할 서버를 지정해주는 값입니다. MX레코드를 입력하지 않을 시 상대방이 보낸 메일을 받아볼 수 없습니다.

      • TXT 레코드 : 텍스트 레코드(Text Record)의 줄임말로, 임의의 문자열로 구성된 값입니다. 소유한 도메인에 TXT레코드를 추가하여 유효한 도메인인지를 판단하는 과정을 거치게 됩니다.

      • CNAME 레코드 : Canonical NAME record의 줄임말로, 소유한 도메인에 별칭을 지정해주는 값입니다. 고유한 호스트명과 레코드값을 가지므로 도메인 소유권 확인에 이용되기도 합니다.

      [참고] 네이버웍스


      다시 cloud.google.com 으로 돌아가서 도메인 정보에서 레코드 모음 만들기를 선택합니다.


      레코드 유형은 CNAME, MX, TXT 를 선택할 수 있습니다.

      선택을 하고 난 다음에 메일건에서 입력하라는 데로 입력을 진행합니다.




      네 이제 다했습니다. 메일건의 마지막 버튼 Verify DNS Settings 버튼을 눌러 주면, 이제 구매하신 도메인으로 발송하더라도 메일이 스팸으로 들어가지 않습니다!!!

      다시 첫번째 블로그를 참고해서 메일을 보내 보겠습니다 ^^


      def SendEmail(mail_address, url):
      print("메일발송")
      res =  requests.post(
          "https://api.mailgun.net/v3/petmit.org/messages",
          auth=("api", "API 키정보 "),
          data={
              "from": "펫밋관리자 <mailgun@petmit.org>",
              "to": [mail_address],
              "subject": "Petmit 회원가입을 위한 메일인증",
              "text": "아래 링크를 클릭하면 회원가입 인증이 완료됩니다. \n" + url,
          },
      )
      
      print(res.status_code)

      메일이 잘 들어 옵니다.


      다음에는 Flutter 에서 Fast API를 호출해서 회원가입버튼을 누르면 Fast API를 호출해 보도록 하겠습니다.


      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      마법거북이 님의 최신 블로그

      더보기
      동영상 기고하기