워드프레스 관리자 이메일 변경 시 메일이 오지 않을 때
워드프레스 블로그 환경을 구축하고 가장 먼저 하는 일은 바로 기본으로 설정되어 있는 값을 본인의 고유 값으로 변경하는 일일 것입니다. 예를 들면 관리자 이메일 주소겠지요? 저는 호스팅 서버로 Amazon Lightsail을 선택하여 워드프레스 사이트를 구축하였는데, 관리자 이메일이 "user@example.com"으로 설정되어 있어서 이를 바꾸려고 다음과 같이 변경하였습니다.
하지만 관리자 이메일은 몇 시간이 지나도 변경되지 않았고, 관리자 이메일 변경을 위한 그 어떤 메일도 받지 못했습니다. 알아보니 보통 워드프레스를 처음 시작할 때 이렇게 메일이 오지 않는 것에 대한 문의가 가장 많다고 합니다. 그래서 오늘은 워드프레스에서 이메일이 오지 않는 원인과 해결 방법에 대해 제가 해결했던 방법에 대해서 공유를 해보고자 합니다.
※ 참고로 저는 Gmail을 사용했으며, 타사 메일을 사용하고 있다면 설정 방법이 다를 수 있습니다.
목차
1. 워드프레스(WordPress) 이메일이 전송되지 않는 이유
2. WP Mail SMTP 플러그인 설치
3. WP Mail SMTP 플러그인 설정하기
3-1. 메일러 서비스 선택하기
3-2. Google Cloud Console 프로젝트 만들기
3-3. Gmail API 라이브러리 활성화
3-4. Gmail API 사용자 인증 정보 만들기
3-5. Gmail API 게시
3-6. Gmail API 클라이언트 ID & Key 확인
3-7. Google / Gmail 사용 권한 부여하기
4. 테스트 이메일 보내기
1. 워드프레스 이메일이 전송되지 않는 이유
이메일이 스팸으로 분류된 경우
가장 일반적으로 발생하는 이유 중 하나로, 갓 생성된 워드프레스에서 보내는 메일을 스팸으로 인식해 보안처리에 의하여 차단되는 경우입니다. 이는 웹 서버 생성 시 호스팅 서버에서 PHP mail()을 지원해 주더라도, 이 메일이 스팸이 아니라는 추가적인 인증이 되어있지 않기 때문이라고 합니다. 하지만, 제 경우 구글, 네이버 등 타 도메인의 메일주소를 입력하여도 스팸으로도 메일이 오지 않는 것을 보면 스팸으로 처리된 것은 아닌 것으로 판단하였습니다.
localhost를 사용중일 경우
워드프레스 사이트가 아직 구축되지 않은 상태, 즉 개발 중인 상태에서 웹 주소가 아닌 localhost로 작동 중인 상태에서는 메일이 전달되지 않습니다. 그러나 저의 경우 이미 구축을 완료했기 때문에 이 이유도 아닌 것으로 판단하였습니다.
호스팅 서버에서 PHP mail()을 지원하지 않을 경우 ✔
스팸 등 무수히 많은 보안 문제들로 인해 많은 호스팅서버에서 메일링에 대한 PHP를 비활성화하고 있다고 합니다. 그중에서도 특히 Amazon EC2, Amazon Lightsail과 같은 호스팅 서버를 사용하는 경우 PHP mail()을 지원하지 않아 문제가 발생한다고 합니다. 위에서 말씀드렸듯이 저는 Amazon Lightsail 호스팅 서버를 이용하므로 제 경우는 이에 해당되는 것 같습니다.
2. WP Mail SMTP 플러그인 설치
워드프레스 설치 후 관리자 메뉴 중 플러그인 메뉴에서 WP Mail SMTP 플러그인을 새로 추가하거나 혹은 이미 설치가 되어있다면 활성화시켜줍니다.
플러그인을 추가하는 방법은 플러그인 - 새로 추가 메뉴를 누른 다음 SMTP로 검색하시면 가장 상단에 아래와 같은 플러그인 카드가 나오게 되며, '지금 설치' 버튼을 눌러 플러그인을 설치해 주시면 됩니다. 설치가 완료된 플러그인은 플러그인 - 설치한 플러그인에서 확인이 가능합니다.
Amazon Lightsail을 활용하여 워드프레스를 구축할 경우 메일링 문제에 대한 문의가 많았던 탓일까요? 제 경우에는 아마존 라이트세일로 구축한 워드프레스 초기 플랫폼에 해당 플러그인이 이미 설치가 완료되어 있었습니다. 단, 활성화가 되어있지 않은 상태이므로 활성화 버튼을 눌러 해당 플러그인의 활성화를 눌러주세요! 그럼 다음 단계로 진입할 수 있습니다.
3. WP Mail SMTP 플러그인 설정하기
플러그인 활성화를 누르면 다음과 같은 페이지로 이동하게 되는데, 절차는 길지만 그리 어렵지 않으니 차근차근 따라와 주시기 바랍니다. Let's Get Started 버튼을 눌러 다음으로 이동해 주세요.
3-1. 메일러 서비스 선택하기
다음화면에서 WP Mail SMTP 플러그인에서 구성이 가능한 메일러 목록이 표시됩니다. 저의 경우 아마존을 이용하고 있기 때문에 Amazon SES를 사용할 수 있겠지만, 해당 서비스를 이용하려면 추가적인 비용이 지불이 필요하기 때문에, 이미 사용하고 있는 Gmail 계정을 이용하여 무료로 이메일을 받을 수 있도록 설정하도록 하겠습니다. Save and Continue 버튼을 눌러 다음으로 넘어갑니다.
현재 사용하려는 플러그인 제작사에서도 블로그의 경우 특별한 일이 아니고서야 메일을 많이 보낼 일이 없다면 Gmail을 이용하기를 권장하고 있었습니다. 그러나 만약 블로그가 아닌 중대형의 웹사이트나 카페 운영 등을 위한 것이라면 Gmail에는 메일을 보내는데 한계가 있기 때문에 다른 메일러를 선택하는 것이 좋습니다.
본인이 선택한 메일러가 맞는지, 그리고 보내려는 메일의 양이 많을 경우 다른 메일러를 선택해주어야 한다는 안내문구입니다. I Understand, Continue 버튼을 눌러 다음으로 넘어가주세요.
워드프레스 사이트에서 보내는 이메일을 받기 위해 Google / Gmail Mailer를 선택했다면, Google API를 활성화하여 플러그인에 연결해 주는 작업이 필요합니다. 다음 화면은 Google API 활성화 후 생성된 인증키를 입력하는 화면으로, 잠시 이 화면에서 진행을 멈추고 Google Cloud Console로 이동하여 서비스 가입 및 API 설정을 진행하도록 하겠습니다.
3-2. Google Cloud Console 프로젝트 만들기
위 화면은 벗어나지 말고 그대로 두시되, 브라우저의 새창을 열어 다음으로 이동해 주세요.
이미 로그인된 구글 계정이 있다면, 서비스 사용을 위한 간단한 동의 절차 후 서비스를 시작할 수 있습니다. 서비스 이용 약관 및 이메일 업데이트에 대한 약관을 모두 동의하셔야 사용이 가능합니다.
서비스가 실행되면 Google Cloud 헤더에 My Project 메뉴를 클릭 후 프로젝트 선택 팝업에서 오른쪽 상단의 "새 프로젝트" 버튼을 눌러 새 프로젝트 생성화면으로 이동합니다. 기존에 이미 생성해 둔 프로젝트가 있다면 이 과정은 넘어가셔도 됩니다.
이제 새 프로젝트의 이름을 입력하고 위치를 선택합니다. 저의 경우 생성하려는 블로그 이름을 프로젝트 이름으로 입력하였고, 위치는 조직 없음으로 유지한 후 만들기를 눌러 생성하였습니다.
3-3. Gmail API 라이브러리 활성화
프로젝트가 생성되었다면, 해당 프로젝트에서 Gmail API를 활성화해야 합니다.
대시보드의 좌측 메뉴 중 API 및 서비스 - 라이브러리를 클릭하여 라이브러리 목록 화면으로 넘어가 Gmail API 라이브러리를 찾아서 선택해 주세요.
라이브러리를 선택하면 해당 라이브러리의 상세화면으로 이동되는데, 아래 이미지와 같이 사용 버튼을 눌러 활성화시켜 주세요.
3-4. Gmail API 사용자 인증 정보 만들기
활성화 버튼을 누르면 활성화된 라이브러리의 대시보드 개요 화면으로 이동됩니다. 사용자 인증 정보 만들기 버튼을 클릭하여 Gmail API의 인증키를 발급받는 과정을 진행하도록 하겠습니다. 꽤 긴 과정이지만, 그리 어렵지 않으므로 포기하지 말고 차근차근 따라와 주세요.
3-4-1. 사용자 인증 정보 유형 선택
먼저 우리가 사용하고자 하는 API는 Gmail API입니다. 선택에 Gmail API를 선택해 주세요. 만약 선택되지 않으면 아직 라이브러리가 활성화되지 않았을 수 있으니, 이 전 과정에서 누락된 것은 없는지, 현재 선택된 프로젝트가 설정하려는 프로젝트가 맞는지 꼭 확인해 주세요!
액세스 할 데이터로는 사용자 데이터를 선택하신 후 다음 버튼을 눌러주세요.
3-4-2. OAuth 동의 화면
Gmail API를 사용하려는 앱 이름과 본인의 이메일을 입력해 주시면 됩니다. 저는 API를 개인 블로그의 메일링을 위한 목적으로 사용되어 외부에 노출될 일이 없을 것 같아서 그냥 블로그 도메인명을 작성하였습니다.
이메일을 작성해야 하는 부분은 아래 이미지와 같이 사용자 지원 이메일, 개발자 연락처 정보의 이메일 주소에 동일하게 작성해 주시면 됩니다. 저장 후 계속 버튼을 눌러 다음으로 이동해 주세요.
3-4-3. OAuth 클라이언트 ID
참고로 Gmail API 사용자 인증정보 중 3단계인 범위 설정은 선택사항이며, 저에게 해당되는 내용이 없으므로 그냥 넘어가도록 합니다. 현재 진행 중인 단계는 4단계인 OAuth 클라이언트 ID 설정입니다.
애플리케이션 유형에 '웹 애플리케이션'을 선택해 주면, 이름에 웹 클라이언트 1이라고 자동으로 생성됩니다. 참고로 저는 자동 생성된 이름으로 계속 진행하였습니다
승인된 리디렉션 URI의 + URI 추가 버튼을 눌러 다음 URI를 입력해 주세요. 아래 URI는 WP Mail SMTP 플러그인 설정 중 Gmail API를 설정하기 위해 잠시 멈춰있는 화면에서도 확인이 가능합니다. (Authorized Redirect URI)
https://connect.wpmailsmtp.com/google/
모든 정보가 입력되었다면, 하단의 만들기 버튼을 클릭하여 다음으로 이동해 주세요.
3-4-4. 내 사용자 인증 정보 확인
이제 마지막으로 클라이언트 ID. 즉 인증키를 발급받았습니다. 발급받은 인증키는 언제든지 사용자 인증 정보 페이지에서 확인이 가능하며, 필요한 경우 복사하여 저장해 두시는 것이 좋습니다.
완료 버튼을 눌러 생성된 인증정보를 저장합니다.
3-5. Gmail API 게시
이제 다시 Gmail Cloud의 대시보드로 돌아와서 API 및 서비스 - OAuth 동의화면으로 이동하여 현재 테스트 상태인 프로젝트를 게시상태로 변경해 주세요. 변경을 하지 않을 경우, 말 그대로 테스트 모드로 작동하기 때문에 제대로 작동하지 않을 가능성이 매우 큽니다. '프로덕션으로 푸시를 진행하겠습니까?'라고 다시 한번 안내 팝업이 나오는데 이 것도 확인을 눌러 계속 진행해 주세요.
3-6. Gmail API 클라이언트 ID & Key 확인
이제, Gmail API 설정이 거의 끝나갑니다. 다시 좌측 메뉴의 사용자 인증 정보로 이동해 주세요. 사용자 인증 정보 중 OAuth 2.0 클라이언트 ID 메뉴의 수정(연필) 버튼을 클릭하여 상세화면으로 이동하면, 위 과정에서 생성했던 클라이언트 ID 및 인증키를 확인할 수 있습니다.
이제 생성된 클라이언트 ID 및 보안 비밀 Key를 복사 또는 저장한 다음 WP Mail SMTP 플러그인 설정 중 멈췄던 화면으로 이동하여 단계를 계속 진행해 보도록 하겠습니다.
3-7. Google / Gmail 사용 권한 부여하기
WP Mail SMTP 플러그인 설정 중 멈춰있던 단계, Configure Mailer Settings로 돌아와서 Client ID(클라이언트 ID)와 Client Secret(보안 비밀키)를 입력해 준 다음 Connect to Google 버튼을 클릭하여 권한을 부여합니다.
Connect to Google 버튼을 클릭하면 구글 계정 로그인 화면으로 이동하는데, 로그인을 하면 Google에서 확인하지 않은 앱으로 인식되어 아래와 같이 다소 걱정스러운 경고 화면이 뜹니다. 이는 무료로 Gmail API를 사용할 경우에 다음과 같은 화면이 표시될 수 있습니다. 경고 화면의 왼쪽 하단의 고급 설정 확인 버튼을 클릭한 다음, wpmailsmtp.com(으)로 이동(안전하지 않음)을 클릭해 주세요. 만약 설정하지 않고 안전한 환경으로 돌아가기를 클릭하시면, 승인이 되지 않아 메일이 발송되지 않습니다. 이제 본인의 Google 계정에 WP Mail SMTP 플러그인이 액세스 할 수 있도록 승인해 주세요.
이후 WP Mail SMTP 설정이 필요한 값은 아래 발신자 설정이 있겠습니다.
From Name은 발신자의 이름으로, 향후 워드프레스 사이트에서 메일을 보낼 때 표시될 이름입니다.
Form Email은 발신자의 이메일로 표시될 이메일 주소를 작성해 주시면 됩니다.
이후 WP Mail SMTP 단계는 플러그인을 Pro로 업그레이드할 것인지, 자회사에서 나온 다른 플러그인도 함께 써보는 것은 어떤지 확인하는 단계로 설명하지 않고 넘어가도록 하겠습니다. 원하는 서비스가 있거나 유료버전을 사용하고 싶을 경우 설정해 주세요. 그렇지 않다면 Save and Coninue 버튼을 눌러 마지막 단계까지 이동한 다음, Finish Setup을 눌러 완료하거나, 완료 후 테스트 이메일을 보내보도록 하겠습니다.
Send Email 버튼을 눌러 설정한 이메일로 메일이 정상적으로 들어가는지 확인해 볼까요?
4. 테스트 이메일 보내기
Send To에 메일을 받을 이메일 주소를 입력한 다음, Send Email 버튼을 눌러 테스트 이메일을 보내봅니다.
Send To에 입력된 이메일을 확인했을 때, 아래와 같은 이메일을 받았다면, 성공입니다! 관리자 이메일 변경을 위해 이메일을 변경했더니 제대로 이메일이 도착하네요. 고생하셨습니다. :)
긴 글 읽어주셔서 감사합니다. 오늘도 행복하고 즐거운 하루 보내세요! 💗
댓글