Email Spam Tester

Home블로그WordPress 이메일 스팸 문제: 문의 양식, 알림, WooCommerce 해결법

WordPress 이메일 스팸 문제: 문의 양식, 알림, WooCommerce 해결법

WordPress 사이트의 문의 양식, 비밀번호 재설정, WooCommerce 주문 이메일이 스팸으로 가거나 도착하지 않는 이유와 해결 방법입니다.

이 페이지의 내용WordPress가 기본 설정에서 이메일을 보내는 방식
  1. WordPress가 기본 설정에서 이메일을 보내는 방식
  2. 실제 메일 서비스를 통해 보내세요
  3. 문의 양식의 From 주소
  4. WooCommerce 이메일
  5. DNS 측면을 쉽게 설명하면
  6. 테스트 메시지가 아닌 실제 이메일 테스트
  7. 여전히 스팸으로 분류되는 경우

WordPress 사이트는 소유자가 생각하는 것보다 더 많은 이메일을 보냅니다. 문의 양식 알림, 비밀번호 재설정, 신규 사용자 환영 이메일, 댓글 검토 알림, 그리고 쇼핑몰에서는 WooCommerce의 모든 주문 확인, 청구서 및 배송 업데이트가 전송됩니다. 이러한 이메일은 대부분 별도로 설계되지 않았으며, 고객이 주문 이메일을 받지 못했다고 문의하기 전까지 아무도 확인하지 않습니다.

이러한 이메일이 스팸함에 들어갔다면 문구를 수정하기 전에 메시지가 서버에서 어떻게 발송되는지 확인하세요. WordPress에서는 이 부분이 기본적으로 이메일 도달률이 가장 낮은 방식으로 설정되어 있습니다.

WordPress가 기본 설정에서 이메일을 보내는 방식

WordPress 자체와 메일을 보내는 거의 모든 플러그인은 WooCommerce와 양식 플러그인을 포함해 하나의 함수인 wp_mail()을 거칩니다. 이 함수는 메시지를 PHPMailer에 전달하고, PHPMailer는 기본적으로 PHP의 mail()에 전달하며, 다시 호스팅 서버에 설치된 메일 프로그램으로 전달됩니다. 메일 제공업체 로그인도 없고, 서명도 없으며, 이 서버가 도메인을 대신해 메일을 보낼 수 있다고 명시하는 DNS 설정도 없습니다.

발신자 주소는 wordpress@ 뒤에 사이트 도메인을 붙인 형태로 선택됩니다. WordPress는 앞의 www.를 제거합니다. 주소를 변경한 적이 없다면 고객의 From 줄에 이 주소가 표시되며, 많은 사이트에서는 해당 사서함을 만든 적조차 없습니다.

공유 호스팅에서는 여러 다른 사이트가 함께 사용하는 IP 주소를 통해 호스트 서버에서 메시지가 발송됩니다. 그중 한 사이트가 구매한 목록에 메일을 보내거나 해킹당해 스팸을 대량 발송하기 시작하면 해당 주소의 평판이 나빠지고, 비밀번호 재설정 메일도 이들과 같은 주소에서 발송됩니다.

따라서 기본 WordPress 설치에서 보내는 메일은 SPF가 도메인과 일치하지 않습니다. 반송 주소는 보통 호스트 자체 서버 이름으로 유지되며, 대신 사용자의 주소가 반송 주소로 설정되면 SPF는 완전히 실패합니다. 도메인의 DKIM 서명도 없으므로 DMARC도 실패합니다. Gmail과 Yahoo는 2024년 2월에 발신자 규칙을 도입했고, Microsoft도 2025년 5월에 Outlook.com으로 하루 5,000개가 넘는 메시지를 보내는 도메인에 같은 조치를 적용했습니다. 2025년 11월부터 Gmail은 규칙을 위반한 메일을 스팸으로 분류하는 대신 거부하는 비율을 높이고 있습니다.

실제 메일 서비스를 통해 보내세요

가장 중요한 해결 방법은 mail() 사용을 중단하는 것입니다. SMTP 플러그인(WP Mail SMTP, FluentSMTP, Post SMTP이 일반적이며 모두 무료 버전이 있습니다)을 설치하고 메일을 제대로 발송하는 서비스에 연결하세요. Google Workspace나 Microsoft 365 같은 자체 사서함 제공업체 또는 Amazon SES, Brevo, SendGrid, Mailgun 같은 트랜잭션 메일 서비스를 사용할 수 있습니다.

플러그인은 wp_mail() 내부의 전송 방식을 대체하므로, 각 플러그인을 직접 수정하지 않아도 모든 플러그인의 이메일이 새 방식을 통해 전송됩니다. 플러그인이 제공업체의 API 옵션을 지원한다면 비밀번호를 사용하는 일반 SMTP 대신 해당 옵션을 사용하세요. WP Mail SMTP에 따르면 호스팅 업체가 SMTP 포트를 차단해도 API 방식은 작동합니다.

다음 단계를 빠뜨리는 경우가 많습니다. 해당 제공업체에서 도메인을 인증하세요. 각 제공업체는 게시할 DNS 레코드를 제공하며, 일반적으로 DKIM용 CNAME 레코드 2~3개와 SPF include 또는 사용자 지정 return-path 도메인입니다. 이러한 레코드를 DNS에 추가하기 전에는 제공업체가 서명에 자체 이름을 사용하므로, 호스트에서와 마찬가지로 DMARC가 실패합니다.

문의 양식의 From 주소

Contact Form 7과 WPForms를 비롯한 양식 플러그인에서는 수신 알림의 From 항목에 들어갈 주소를 선택할 수 있습니다. 많은 설정에서 방문자의 주소를 이곳에 넣어 Reply를 누르면 방문자에게 답장되도록 합니다. 영리해 보이지만, DMARC는 바로 이런 방식을 차단하기 위해 만들어졌습니다.

Anna라는 방문자가 anna@yahoo.com 주소로 문의했다고 가정해 보겠습니다. 이제 사이트는 Yahoo가 승인한 적 없는 서버를 통해 yahoo.com에서 보낸 것처럼 가장한 메시지를 전송합니다. yahoo.com은 p=reject DMARC 정책을 게시하므로, 이 정책을 따르는 수신 서버는 해당 알림을 위조된 메시지로 판단해 거부합니다. Gmail 방문자의 경우 정책이 더 느슨해 메시지가 스팸으로 분류되는 경우가 더 많습니다. WPForms도 문서에서 바로 이 문제를 경고합니다.From은 본인 주소이고, Reply-To는 방문자 주소입니다

대신 다음과 같이 설정하세요.

  • From: forms@yourdomain.com처럼 본인 도메인의 주소를 사용하세요. SMTP 플러그인이 인증된 도메인과 동일해야 합니다.
  • Reply-To: 양식 필드에 입력된 방문자의 주소를 사용하세요. Reply를 눌러도 여전히 Anna에게 답장됩니다.
  • To: 실제로 확인하는 메일함을 지정하세요.

Contact Form 7에서는 Mail 탭에서 설정합니다. From에 본인 주소를 입력하고 Additional headers 아래에 Reply-To: [your-email]을 추가하세요. 다른 양식 플러그인에는 알림 설정에 Reply-To 필드가 있습니다.

WooCommerce 이메일

WooCommerce에는 자체 발신자 설정이 있습니다. WooCommerce, Settings, Emails로 이동한 다음 Email Sender Options 섹션에서 "From" 이름과 "From" 주소를 설정할 수 있습니다. 기본 주소는 사이트의 관리자 이메일입니다. 쇼핑몰을 설치한 사람이 여기에 Gmail 주소를 사용했다면 모든 주문 확인 이메일이 gmail.com에서 보낸 것처럼 발송되며, 위의 문의 양식과 같은 이유로 DMARC 검증에 실패합니다. 여기에 인증된 도메인의 주소를 입력하세요. 발신자 이름으로는 쇼핑몰 이름이 적합합니다. (관리자에게 전송되는 주문 알림의 경우 WooCommerce는 이미 고객을 Reply-To에 넣으며, 이것이 올바른 방식입니다.)

쇼핑몰 이메일에서는 문의 양식에 없는 두 가지 문제가 발생할 수 있습니다.

첫 번째는 발송량입니다. 할인 행사나 뉴스레터 플러그인이 주문 확인 이메일과 같은 경로를 통해 고객에게 이메일을 보내면 마케팅 이메일과 트랜잭션 이메일이 하나의 평판을 공유하게 됩니다. 뉴스레터에 불만 신고가 발생하면 영수증 이메일도 영향을 받습니다. 두 유형의 이메일을 서로 다른 서비스를 통해 보내면 분리할 수 있습니다. 마케팅에 별도의 하위 도메인을 사용하는 것도 약간 도움이 되지만, 수신 서비스는 여전히 기본 도메인의 평판에도 어느 정도 비중을 둡니다.

두 번째는 수신 거부 문제입니다. 주문 확인과 비밀번호 재설정은 트랜잭션 이메일이므로 Gmail과 Yahoo의 원클릭 수신 거부 규칙이 적용되지 않습니다. 이전 구매자에게 보내는 리뷰 요청, 장바구니 이탈 알림 또는 "함께 구매하면 좋은 상품" 이메일은 마케팅 이메일입니다. 이런 이메일을 대량으로 발송하면 해당 규칙이 전부 적용되며, 원클릭 옵션이 포함된 List-Unsubscribe 헤더가 필요합니다. 해당 이메일을 보내는 추가 기능이 이 헤더를 추가하는지 확인하세요. 아래 테스트에서 어느 경우든 확인할 수 있습니다.

DNS 측면을 쉽게 설명하면

어떤 서비스를 통해 발송하든, 이메일이 신뢰받으려면 도메인의 DNS에 세 가지가 필요합니다. 자세한 내용은 SPF, DKIM 및 DMARC 설명에서 확인할 수 있습니다. WordPress 사이트에서는 다음과 같은 의미입니다.

  • SPF. 도메인을 대신해 발송할 수 있는 대상을 나열하는 하나의 TXT 레코드입니다. 많은 발송 서비스는 자체 반송 도메인을 통해 정렬하므로 여기에서 변경할 필요가 없습니다. 사용 중인 서비스에서 include:를 추가하라고 요청하고 도메인에 이미 메일함 제공업체용 레코드가 있다면, 해당 레코드에 추가하세요. 두 번째 레코드를 만들지 마세요. SPF 레코드가 두 개이면 오류가 발생하고 둘 다 작동하지 않습니다. SPF 검사기로 결과를 확인하세요.
  • DKIM. 발송 서비스에서 제공한 레코드입니다. 레코드가 적용되면 서비스가 도메인으로 모든 메시지에 서명하며, DMARC는 이 서명을 확인합니다.
  • DMARC. _dmarc.yourdomain.com에 설정하는 TXT 레코드입니다. v=DMARC1; p=none; rua=mailto: 뒤에 확인 가능한 이메일 주소를 넣어 시작한 다음, 보고서에서 발송 이메일에 실패가 없음을 확인하면 정책을 강화하세요. DMARC 검사기에서 현재 설정을 확인할 수 있습니다.

호스팅 서버가 여전히 자체적으로 이메일을 보내고 있을 수도 있다는 점에 유의하세요. cron 작업이나 오래된 플러그인이 wp_mail() 대신 mail()을 직접 호출할 수 있습니다. 이러한 메시지는 SMTP 플러그인을 거치지 않으며, DMARC 보고서에는 예상하지 못한 발송 출처로 표시됩니다.

테스트 메시지가 아닌 실제 이메일 테스트

모든 SMTP 플러그인에는 "send test email" 버튼이 있지만, 이 버튼으로 확인할 수 있는 것은 연결이 작동한다는 사실뿐입니다. WooCommerce가 생성한 주문 확인 이메일, Reply-To가 포함된 양식 알림, WordPress가 링크를 삽입한 비밀번호 재설정 이메일은 확인할 수 없습니다.

따라서 WordPress가 실제 이메일을 보내도록 합니다. 홈페이지에서 발급한 테스트 주소는 메시지 하나만 받을 수 있으므로, 확인하려는 이메일마다 새 주소를 받으세요. 양식 이메일을 테스트하려면 알림 수신자에 테스트 주소를 잠시 입력한 후 양식을 제출하세요. WooCommerce를 테스트하려면 고객 이메일에 테스트 주소를 입력하여 테스트 주문을 생성하세요. 비밀번호 재설정을 테스트하려면 테스트 사용자의 이메일을 테스트 주소로 변경하고 재설정을 요청하세요. 각 메시지에는 SPF, DKIM, DMARC 및 정렬, 21개 차단 목록, 콘텐츠와 링크, 대량 발신자 규칙을 포함한 별도의 보고서가 생성됩니다. Gmail, Outlook, Yahoo 및 기타 제공업체에서 어느 폴더에 도착하는지 확인하려면 제목에 표시를 넣은 동일한 메시지를 여러 수신함으로 보내야 합니다. 양식이나 쇼핑몰 주문으로는 이렇게 보낼 수 없으므로, 이 부분은 직접 보내는 이메일을 테스트할 때 확인하세요.

테스트 주문을 직접 생성하고 싶지 않다면 무료 WordPress 플러그인을 사용하세요. 이 플러그인은 고객 이메일과 동일한 경로인 사이트 자체의 wp_mail()을 통해 이러한 메시지를 보내고 대시보드에 결과를 표시합니다. 또한 사이트에서 이전에 확인되지 않은 유형의 이메일을 보내기 시작하면 이를 감지합니다.

여전히 스팸으로 분류되는 경우

인증을 통과하고 From 주소가 도메인에 속하는데도 이메일이 스팸으로 분류된다면, 이메일 전송에 사용하는 경로의 평판을 확인하세요. 아직 mail()을 사용하고 있다면 차단 목록에 등록된 공유 호스팅 IP가 흔한 원인이며, 차단 목록 검사기에서 이를 확인할 수 있습니다. 콘텐츠가 미치는 영향은 사람들이 예상하는 것보다 작습니다. 링크 하나와 텍스트 세 줄로 구성된 양식 알림만으로 필터에 걸리는 경우는 드뭅니다. 하지만 무거운 HTML 템플릿, 큰 이미지 하나, 링크 단축 서비스를 사용하는 WooCommerce 이메일은 필터에 걸릴 수 있습니다.

메시지 하나를 검사하고 보고서에 표시된 문제를 수정한 다음, 새 주소로 다시 보내세요.

블로그의 다른 글

실제 이메일을 먼저 테스트 주소로 보내세요

SPF, DKIM, DMARC, 차단 목록, 수신 거부 헤더 및 콘텐츠에 대한 42개 검사와 Gmail, Outlook, Yahoo 및 기타 제공업체에서 도착한 폴더를 확인하세요. 무료이며 가입이 필요 없습니다.

테스트 주소 받기