Firefish를 설치해보자 (비전문가 대상)

이메일을 설정하고 회원가입을 받자

Misskey나 Firefish에서는 Mastodon과는 달리 이메일 없이도 회원가입이 가능하도록 설정할 수 있습니다. 그렇지만 이메일을 사용할 수 없으면 비밀번호찾기 같은 중요 기능들을 사용할 수 없는 등 불편한 점이 있습니다.

그러므로 firefish에 이메일 전송 기능을 설정해봅시다.

이메일도 서비스로 사용하자

이메일도 Firefish와 마찬가지로 서버에서 동작하는 프로그램입니다. 그렇지만 사실상 개인이 이메일 서버를 세우는 건 굉장히 힘든 일입니다. 프로그램이야 돌리면 되지만, 스팸메일함에 들어가지 않으려면 굉장히 험난한 과정을 거쳐야 합니다.

그렇기에 보통은 메일 전송을 대신해주는 서비스를 이용합니다. 이전 글에서 다뤘던 오브젝트 스토리지와 마찬가지로 이메일도 이메일 서비스의 API를 사용해서 전송할 것입니다.

이메일의 경우 아마존처럼 지배적인 기업이 있는 건 아니고, 거의 인터넷이 시작할 때부터 있던 기술이다보니 이메일 API는 이미 SMTP(Simple Mail Transfer Protocol)라는 이름으로 표준화가 되어있습니다.

보통 추천하는 서비스는 mailgun, sparkpost 정도이고 다양한 업체들이 있습니다. 이 글에서는 이미 오라클 클라우드에도 가입했겠다, 오라클 클라우드의 이메일 전송 서비스를 사용하겠습니다. 또 가입하기 귀찮잖아요.

<!> 서비스인 만큼, 사용량에 따라 과금됩니다. 일정량까지는 무료에요.

오라클 클라우드에서 메일을 전송하기는 하지만 도메인 쪽의 설정도 필요합니다. Cloudflare도 같이 열어둡시다.

오라클 클라우드에서 전자메일 도메인 만들기

오라클 클라우드와 CloudFlare의 DNS (인터넷 주소) 설정화면 둘 다 열어두셨죠?

도메인 생성

개발자 서비스 -> 애플리케이션 통합 -> 전자메일 전송 에 있습니다.

찾기 힘드니까 검색으로 들어가셔도 됩니다.

전자메일 도메인 -> 전자메일 도메인 생성. 저는 작년에 만든 게 이미 있습니다. 여기서는 예시로 mail-lake.naru.cafe 로 추가해보겠습니다.

딱히 고민할 부분이 없네요. 그냥 주소를 넣고 "전자메일 도메인 생성"을 누르면 되겠습니다.

추가는 되었는데 뭔가 이상합니다. 느낌표 두 개가 나오는군요. 뭔가 더 설정해야할 것이 있습니다.

DKIM, SPF 라는 두 가지를 설정해야 스팸메일함에 들어가는 일을 피할 수 있습니다.

이 두 가지가 뭔지까지는 알 필요가 없는 것 같더라구요. 세팅만 잘 해주면 됐죠. 저도 잘 몰라요. 궁금하면 찾아봅시다. 대충 찾아보니 "DKIM"은 도메인(내 인터넷 주소)을 인증하는 작업이고, "SPF"는 메일을 보낸 사람을 인증하는 방법인가보네요.

DKIM 추가

추가 버튼을 누르고,

이름은 대충 지어줍시다. 이름 짓는 형식이 회색글씨로 적혀있는데 안 지켜도 상관은 없는 것 같더라구요. 저는 lake-202308 로 짓겠습니다.

CNAME 부분이 CloudFlare의 DNS에 설정하실 부분입니다. 제일 아래의 "DKIM 생성" 버튼을 눌러 바로 추가를 하셔도 목록에서 확인하실 수 있으니 별 걱정 안 하셔도 됩니다.

설명의 편의를 위해 "DKIM 생성"을 눌러 저장하고 진행하겠습니다.

봐봐요, 여기서도 확인할 수 있죠?

DKIM - Cloudflare DNS에 CNAME 레코드 추가

저거 그대로 Cloudflare에 추가하시면 돼요.

DNS -> 레코드 -> 레코드 추가

도메인에 있어서 CNAME 레코드란, 주소 A가 사실은 주소 B의 별명이야! 를 알려주는 정보입니다. 이걸 추가하는 겁니다. DKIM이라는 인증방법? 에 필요한가보네요.

  • 유형: CNAME
  • 이름: 오라클 클라우드에 나와있던 "CNAME 레코드" 를 붙여넣어주세요.
    • 주소 A, 내 홈페이지의 주소에 해당합니다.
    • 예시: lake-202308._domainkey.mail-lake.naru.cafe.
      혹은 뒤의 내 주소를 생략한 lake-202308._domainkey.mail-lake
      (저장하면 자동으로 사라집니다)
      • 출발지점은 내가 빌린 내 홈페이지의 도메인입니다. 그렇다보니 굳이 주소를 끝까지 다 적어줄 필요가 없는 거죠.
  • 대상: 오라클 클라우드에 나와있던 "CNAME 값" 을 붙여넣어주세요.
    • 주소 B에 해당합니다.
      사람들이 주소 A로 접속하면, CNAME에 기록된 걸 보고 주소 B로 자동으로 넘어가게 됩니다.
    • 예시: lake-202308.mail-lake.naru.cafe.dkim.yny1.oracleemaildelivery.com
      • 도착지점은 오라클 서버입니다.
  • 프록시는 아무래도 상관없는 것 같은데요, 꺼두겠습니다. 인증용인 거 같은데 굳이 Cloudflare의 서버를 거쳐갈 필요는 없습니다.

저장.

다시 오라클 클라우드로 돌아와서 새로고침을 해봅시다.

등록이 안 된 걸로 나오네요.

도메인쪽에 뭔가를 추가하는 건 다른 서버로 퍼져나가는 데 시간이 좀 걸리는지라, 이대로 일단 두고 계속 나아갑시다.

SPF 설정 -  사전에 승인해놓은 이메일을 만들자

SPF를 추가하려면 "이 계정에서 메일을 보낼거야!" 라고 정해둔 이메일을 사전에 만들어둬야 합니다.

승인된 발신자 -> 승인된 발신자 생성

아까 위에서 만들었던 도메인 주소에 적당한 ID를 붙여서 계정을 만들어줍시다. 보통 notification (공지), noreply (메일보내지마세요), 서비스이름 같은 걸 많이 씁니다. 저는 noreply@mail-lake.naru.cafe 로 쓸 거에요.

추가되었으면, Cloudflare에 추가하기 위한 정보를 보죠. 추가된 항목의 (...) 메뉴를 눌러 "SPF 보기" 를 누릅니다.

"모든 상업 지역" 의 내용을 복사합니다. 저 주소에, 어디에서 보낸 이메일을 믿을 수 있는지가 적혀있다고 합니다.

오른쪽에 더 있으니까 스크롤까지 해서 다 복사해둡시다.

SPF: Cloudflare 쪽에 TXT 레코드 추가

도메인에 있어서 TXT 레코드는 그냥 텍스트입니다. DNS에다 대고 내 주소로 조회해보면 나오는 정보입니다. 그게 다에요.

SPF라는 검증방법은 내 주소에 들어있는 정보를 활용하나봅니다. TXT 레코드를 추가해줍시다.

  • 종류: TXT 레코드 (별 의미 없는 텍스트라는 뜻)
  • 이름: 전체를 인증하려면 @, 방금 추가한 주소를 인증할거면 해당 도메인 입력
    • 저는 mail-lake.naru.cafe (혹은 뒷 부분을 생략하고 mail-lake) 를 입력했습니다.
    • 도메인별로 다르지 않아서, 오라클 클라우드만 쓰고 있으니 그냥 골뱅이로 넣어버릴걸 그랬어요.
  • 콘텐츠 (내용): 위에서 복사한 걸 붙여넣으시면 됩니다.

오라클 클라우드로 돌아가서 한 번 확인해봅시다.

아까 추가했던 DKIM은 이제 인증되었는데, SPF는 좀 더 기다려야되나보네요.

이번에도 냅두고 API 키를 만들러 갑시다.

이메일 전송을 위한 SMTP ID와 비밀번호 만들기

보통 다른 서비스는 ID랑 암호를 바로 알려주는데, 오라클 클라우드의 경우 인증서를 만들어서 그걸 ID와 암호로 사용합니다.

참고한 자료: Oracle Cloud 쪽

"전자메일 전송" 페이지가 아니라
우측 위의 사람 아이콘 ->내 프로파일 -> SMTP 인증서 -> 인증서 생성 순서로 클릭합니다.

이름은 내맘대로~

저는 "mail-lake.naru.cafe cert" 라고 지을거에요.

이번에도 ID와 암호는 두 번 다시 나오지 않습니다. Firefish 설정란에 집어넣어야 하니까 잘 메모해둡시다.

Firefish에 설정하기

이제 이런저런 정보를 Firefish에 설정하면 됩니다.

일단 오라클 클라우드의 이메일 서버 주소를 알아야 하니, 전자메일 전송 페이지의 "구성" 페이지를 열어둡시다.

왼쪽위 메뉴 -> 개발자 서비스 -> 애플리케이션 통합 -> 전자메일 전송으로 들어간 뒤, 왼쪽의 구성 메뉴 선택

이제 다른 창에서 Firefish의 이메일 설정 부분을 엽시다.

제어판 -> 메일 서버

이제 내용을 채워넣은 뒤 저장을 누르시면 됩니다.

  • 이메일 송신 기능 활성화: 체크
  • 메일 주소
    • 아까 만든 이메일 주소를 입력합니다.
      예시) noreply@mail-lake.naru.cafe
    • 메일에 표시되는 이름도 설정하고 싶다면, 형식에 맞춰서 쓰면 되는 것 같습니다.
      예시) "lake.naru.cafe 시스템"<noreply@mail-lake.naru.cafe>
  • SMTP 서버 설정
    • 호스트: "오라클 클라우드 - 구성" 페이지의 "공용 끝점" 주소
    • 포트: 587 포트입니다.
    • 유저명: 아까 만든 SMTP 인증서의 사용자 이름
    • 비밀번호: 아까 만든 SMTP 인증서의 비밀번호
  • SMTP 연결에 Implicit SSL/TLS 사용: 끕니다. (오라클 가이드 참조)

저장을 잊지 마세요!

테스트

어드민 계정에는 기본적으로 이메일이 설정되어 있지 않습니다. 하는 김에 회원가입 시 이메일을 필수로 입력하도록 설정도 바꿔놓읍시다.

이메일을 설정하다가 n번 암호를 틀려서 막혀버린지라, 다른 창을 열어 회원가입을 시도했습니다. 잘 오네요!

댓글

댓글 본문
버전 관리
sftblw
현재 버전
선택 버전
graphittie 자세히 보기