Ghost CMS에서 Gmail을 SMTP 발송 서버로 사용하려면 일반 비밀번호가 아닌 Google 앱 비밀번호(App Password)를 반드시 발급받아 설정해야 합니다. Google 계정의 보안 정책상 일반 로그인 비밀번호나 2단계 인증이 켜진 상태의 계정 비밀번호는 외부 앱/서버에서 직접 사용할 수 없기 때문입니다. [1, 2]
Gmail SMTP 연동을 위한 상세 설정 순서는 다음과 같습니다.
1. Google 계정 설정 (앱 비밀번호 생성)
- 2단계 인증 활성화: Google 계정의 보안 탭에서 2단계 인증이 켜져 있어야 앱 비밀번호 메뉴가 활성화됩니다.
- 앱 비밀번호 발급: Google 앱 비밀번호 페이지로 이동합니다.
- 앱 이름을
Ghost Blog등으로 입력한 뒤 만들기(Generate)를 누릅니다. - 화면에 나타나는 16자리 앱 비밀번호를 복사해 둡니다 (공백은 제거하고 입력합니다). [1, 2, 3, 4, 5]
2. Ghost 설정 파일 수정 (config.production.json)
- Ghost 설치 경로로 이동하여 설정 파일을 엽니다:bash
cd /var/www/ghost sudo nano config.production.json코드를 사용할 때는 주의가 필요합니다. mail블록을 찾아 아래와 같이 Gmail SMTP 전용 값으로 수정합니다.user에는 본인의 Gmail 주소를,pass에는 발급받은 16자리 앱 비밀번호를 입력합니다.from주소에는 발신자로 표시될 본인의 이메일이나 이름을 지정합니다.json"mail": { "transport": "SMTP", "options": { "service": "Gmail", "host": "smtp.gmail.com", "port": 465, "secure": true, "auth": { "user": "your-gmail-address@gmail.com", "pass": "your-16-digit-app-password" }, "from": "'Your Blog Name' <your-gmail-address@gmail.com>" } }코드를 사용할 때는 주의가 필요합니다.(포트를587로 설정할 경우"secure": false로 변경하시면 됩니다.) [1, 2, 3, 4, 5]
3. Ghost 재시작 및 테스트
- 설정을 저장한 후 Ghost 프로세스를 재시작하여 반영합니다:bash
ghost restart코드를 사용할 때는 주의가 필요합니다. - Ghost 관리자 페이지(Admin)의 Settings > Labs(설정 > 실험실) 하단에서 Send test email 기능을 통해 메일이 정상 수신되는지 확인합니다. [1, 2]
만약 재시작 후에도 메일 발송이 실패하거나 인증 에러가 발생한다면, 입력하신 포트 번호(465 또는 587)와 우분투 서버 방화벽(아웃바운드 포트 차단 여부)을 점검해 보셨는지 확인해보시기 바랍니다. [1, 2]

답글 남기기