📌 메일 서버 및 네트워크 보안
메일 서버 설치:
- 메일을 처리하기 위해서는 메일 서버(SMTP, IMAP 등)를 따로 설치해야 하며, 이 과정은 일반 개발자보다는 엔지니어링 쪽에서 다룹니다
설치 과정의 어려움:
리눅스 기반의 시스템에서 메일 서버를 설치 및 운영하는 것은 어렵기 때문에 네트워크 보안과 운영체제 관련 지식을 필요로 합니다
메일 서버 설치
- 네트워크 관리와 밀접한 관련이 있으며, 일반 개발자가 사용하기보다는 시스템 엔지니어가 담당하는 부분입니다.
📌 웹 브라우저와 메일 발송
웹 브라우저의 역할:
- 웹 브라우저는 GET과 POST 방식으로 HTML을 주고받는 역할을 합니다.
- 웹 브라우저는 기본적으로 화면에 표시되는 작업을 처리하며, 직접적으로 메일을 보내는 기능은 제공하지 않습니다.
SMTP:
- 메일 발송은 웹 브라우저가 아닌 SMTP를 통해 이루어지며, 외부 시스템과 연동하여 오픈 API를 통해 메일 발송 기능을 구현할 수 있습니다.
📌 오픈 API와 임시 비밀번호
SMTP와 외부 시스템 연동:
- 메일 발송 시 외부 시스템과의 연동을 위해 SMTP를 사용합니다.
- 이때 오픈 API가 필요하며, 해당 API를 통해 임시 비밀번호(앱키)를 발급받아 사용합니다.
💡 오픈 API 앱키 발급 방법
구글
- 구글 계정 관리에서 2단계 인증을 설정합니다.
- 검색창에 앱 비밀번호를 입력하여 앱 비밀번호를 발급받습니다.
- 발급받은 비밀번호는 메모장에 저장해 둡니다.
네이버
- 네이버 ID를 클릭하고 2단계 인증을 설정합니다.
- 2단계 인증 관리에서 앱 비밀번호를 발급받고 메모장에 저장해 둡니다.
- 메일 환경 설정에서 POP3/IMAP 설정을 클릭한 후, 적절한 설정을 선택합니다.
- 서버명과 포트 번호도 메모장에 저장하여 메일 시스템과 연동합니다.
📌 브라우저 캐시 문제 해결
캐시의 문제:
- 브라우저는 수정된 데이터를 인지하지 못하고 이전에 저장된 데이터를 사용하는 캐시 때문에 백엔드에 새 데이터를 요청하지 않을 수 있습니다. 이를 브라우저 캐시 문제라고 합니다.
해결 방법:
- 개발자 도구를 열고 상태바의 화살표 우클릭 후 캐시 비우기를 선택합니다.
- 만약 캐시를 비웠음에도 수정이 반영되지 않으면, 이는 코드 문제일 가능성이 큽니다.
💡 기타 유용한 정보
문자열 변환:
- String.valueOf() 메서드는 모든 숫자를 문자열로 변환하는데 사용되며, Java에서 이를 사용하는 것이 정석입니다.
히스토리 방지:
- 히스토리에 남지 않도록 하기 위해서는 메타 태그를 이용할 수 있습니다.
메일 디자인:
국내 메일 시스템 중에는 div 태그를 지원하지 않는 경우가 많기 때문에, 메일 레이아웃을 짤 때는 테이블 구조를 사용하는 것이 권장됩니다.
👩🏻💻 요약
- 메일 서버 설치는 엔지니어링의 영역으로, 보안과 운영체제 지식이 필요하다.
- 웹 브라우저는 HTML과 GET/POST 요청을 주고받으며, 메일 발송은 SMTP와 같은 외부 시스템과 연동해서 처리한다.
- 오픈 API를 통해 임시 비밀번호(앱키)를 발급받아 SMTP 설정에 활용할 수 있다.
- 브라우저 캐시는 데이터 요청 문제를 야기할 수 있으며, 이를 해결하기 위해 캐시를 비울 수 있다.
- 메일 레이아웃은 CSS가 적용되지 않는 경우가 많아 테이블 구조를 사용하는 것이 좋다.