Technote

테마 · 플러그인 실무

연재 혼자 시작하는 워드프레스 — 0에서 런칭까지 8부 중 7부

문의 폼은 멀쩡한데 메일이 오지 않는 이유

폼이 잘못된 경우는 드뭅니다. 대부분은 메일이 발송 단계에서 막히거나 스팸으로 분류된 것이고, 이 문제는 구조를 알면 확실하게 해결됩니다.

문의 폼을 설치하고 테스트했는데 메일이 오지 않습니다. 혹은 며칠 뒤 스팸함에서 발견합니다. 이것은 폼 플러그인의 문제가 아니라 메일이 보내지는 방식의 문제입니다.

워드프레스가 메일을 보내는 방식

기본 설정에서 워드프레스는 서버의 메일 기능을 직접 사용합니다. 이 방식은 편리하지만, 받는 쪽 입장에서 보면 문제가 있습니다 — 그 메일이 정말 당신 도메인에서 보낸 것인지 증명할 방법이 없기 때문입니다.

메일 서비스들은 스팸을 막기 위해 발신자를 검증합니다. 검증 수단이 없는 메일은 스팸으로 분류되거나 아예 거부됩니다. 서버 직접 발송이 자주 실패하는 이유가 이것입니다.

같은 메일이라도 발송 경로가 도달 여부를 가른다

해결 — SMTP 서비스 연결

해결책은 인증된 메일 발송 서비스를 경유하는 것입니다. SMTP 플러그인을 설치하고 서비스 계정을 연결하면, 워드프레스가 보내는 모든 메일(문의 알림 · 비밀번호 재설정 · 주문 확인)이 그 경로로 나갑니다.

업무용 메일 계정을 이미 쓰고 있다면 그 서비스의 SMTP 를 그대로 쓸 수 있고, 발송량이 많아지면 전용 발송 서비스를 쓰는 편이 낫습니다. 어느 쪽이든 발송 기록이 남는다는 점이 중요합니다 — 문의가 안 왔을 때 발송 자체가 안 된 것인지, 발송은 됐는데 상대가 못 받은 것인지 구분할 수 있습니다.

도메인 인증 세 가지

SMTP 를 붙였다면 다음은 도메인 쪽 설정입니다. DNS 에 레코드 세 개를 추가하는 일이고, 각각 하는 일이 다릅니다.

도메인 인증 세 레코드 — 셋이 함께 있어야 도달률이 안정된다

발송 서비스가 설정 방법을 안내해 주므로, 값을 그대로 DNS 에 넣으면 됩니다. 이 셋이 갖춰지면 스팸 분류가 눈에 띄게 줄어듭니다.

폼 자체에서 확인할 것

메일 경로를 고친 뒤에도 확인할 것이 있습니다. 폼의 발신 주소가 사이트 도메인의 주소인지 보세요. 방문자가 입력한 주소를 발신자로 쓰면(예: 고객의 지메일 주소), 그것은 위조 발송으로 보여 차단됩니다. 발신은 우리 도메인 주소로 하고, 고객 주소는 회신 주소에 넣는 것이 올바른 구성입니다.

메일과 서버 설정에 관한 글은 서버 · 인프라 아카이브에 있고, 발송 경로를 포함한 인프라 전반을 정비하고 싶다면 최적화 지원 사업에서 함께 다룹니다.

다음 회차

이제 사이트가 동작합니다. 마지막 회차는 오픈 전날 점검표입니다 — 순서대로 확인하면 오픈 후에 발견하는 사고가 거의 사라집니다.

이 주제의 다른 글

노하우 목록으로

테마 · 플러그인 실무

편집 가능한 영역을 디자인 전에 정합니다

CMS 가 표현할 수 없는 디자인은 배포된 뒤에도 계속 협상 대상으로 남습니다. 어디까지 편집자가 바꿀 수 있는지를 먼저 정하면 그 협상 자체가 사라집니다.

디자이너 3분 읽기

테마 · 플러그인 입문

업데이트가 멈춘 플러그인을 판별하는 기준

마지막 업데이트 날짜 하나로는 방치를 판정할 수 없습니다. 판별 신호 다섯 개를 함께 보고, 대체 불가라면 격리 조건이라도 걸어야 합니다.

기획자 · 운영 · 관리자 2분 읽기

테마 · 플러그인 심화

JS 없이 만드는 상호작용과 그것을 안전하게 하는 규칙

details · :target · :focus-within · :has() · 스크롤 타임라인으로 상당수의 상호작용이 스타일시트 안에서 끝납니다. 안전하게 만드는 규칙은 하나입니다 — 기본값이 완성된 상태여야 합니다.

디자이너 6분 읽기

₩270,000 · 신청하기