Email Spam Tester

Email Spam Tester › cPanel & WHM용 Email Spam Tester

cPanel & WHM용 Email Spam Tester

호스팅 제공업체용 플러그인입니다. 고객은 cPanel의 Email에서 이 플러그인을 찾아 자신의 메일함 중 하나에서 실제 이메일을 보낼 수 있습니다. 그러면 수정해야 할 항목 목록이 표시되며, 각 항목 옆에 정확한 DNS 레코드 또는 cPanel 버튼이 제공됩니다.

버전 0.1.1, 2026년 9월 30일. 다운로드 (94 KB), SHA-256 4909ff8402b3244711bc13bac96cfc22810ee33d48f80885f87e44809572cdd0. 설치 단계는 이 페이지 끝에 있으며, 같은 내용이 압축 파일의 INSTALL.md에도 있습니다. 소스 코드, 테스트 및 릴리스는 GitHub에 있습니다.

대상

다른 사람을 위해 cPanel & WHM 서버를 운영하는 회사가 대상입니다. root 권한으로 한 번 설치하면 선택한 패키지의 cPanel » Email에 표시됩니다. Feature Manager에서 활성화하기 전까지 고객에게는 아무 변화도 표시되지 않습니다.

이 기능이 없으면 이메일이 스팸으로 분류되는 이유를 확인하려는 고객이 테스트 도구를 찾아 메일 클라이언트를 열고 이메일을 직접 보내야 합니다. 이 기능을 사용하면 사서함 옆에 테스트 버튼이 표시되며, 이메일은 실제로 서버에서 발송됩니다. 이때 서버의 IP, HELO 이름, DKIM 서명 및 서버가 사용하는 릴레이가 그대로 적용됩니다.

cPanel에서 고객이 이용할 수 있는 기능

테스트

고객은 메일함을 선택한 다음 표준 테스트 이메일이나 직접 작성한 메시지를 보냅니다. 표준 테스트 이메일은 영어로 작성된 짧은 개인 이메일이며 텍스트와 HTML 부분을 포함합니다. 직접 작성한 메시지를 보낼 때는 제목과 HTML, 선택 사항인 일반 텍스트 버전을 붙여 넣으며, 입력한 내용 그대로 전송됩니다. Exim은 해당 계정의 다른 이메일과 동일한 방식으로 메시지를 전송합니다. 약 1분 후 같은 페이지에 42개 검사 결과가 모두 표시됩니다. 검사 항목에는 SPF, DKIM, DMARC 및 정렬, 역방향 DNS와 HELO, TLS, IP 차단 목록, SpamAssassin과 Rspamd, Gmail과 Yahoo가 공개한 발신자 요구 사항, 콘텐츠가 포함됩니다. 점수는 100점 만점의 기술 점수와 기존 방식의 0점에서 10점까지 점수, 두 가지입니다.

"이메일 제공업체의 폴더 확인"은 기본적으로 선택되어 있습니다. 이 옵션을 사용하면 이메일 사본 한 부가 각 테스트 메일함에도 전송됩니다. Gmail, Outlook, Yahoo, GMX, Proton 등을 포함한 14개 제공업체의 약 30개 메일함입니다. Gmail의 경우 누구나 제목, 발신자 이름, 폴더를 볼 수 있는 공개 테스트 메일함입니다. 표는 최대 30분 동안 채워지며 각 제공업체별로 받은편지함, 스팸 또는 프로모션 도착 여부를 보여줍니다. 제공업체가 이메일을 즉시 거부한 경우, 표에 해당 사실과 서버가 응답한 내용이 표시됩니다. 이 내용은 고객 서버의 Exim 로그에서 가져오며 SMTP 코드도 포함됩니다.

점수 아래에는 수정할 항목이 표시됩니다. 도메인의 DNS가 고객 서버에 있으면 cPanel에서 버튼으로 DKIM, SPF, DMARC를 수정할 수 있습니다. 플러그인은 현재 레코드와 변경 후 레코드를 보여주고 먼저 확인을 요청합니다. DNS가 다른 곳에서 호스팅되는 경우 고객은 이름, 유형, 값이 포함된 정확한 레코드를 받아 복사할 수 있습니다. 역방향 DNS와 서버 자체의 A 레코드는 서버 관리자용 별도 그룹에 표시되며 값도 채워져 있습니다. 검사가 끝난 뒤 몇 분 후 Email Spam Tester가 작성한 계획이 제공되며, 레코드를 적용한 후 "다시 확인"을 누르면 새 이메일을 전송합니다.

기록

해당 계정에서 전송한 모든 테스트가 최신순으로 표시됩니다. 날짜, 메일함, 사용한 이메일, 두 점수, 폴더별 개수가 포함됩니다. 차트에는 테스트별 점수 변화가 표시됩니다. 각 테스트에는 같은 도메인의 이전 테스트 이후 결과가 변경된 검사 항목이 나열됩니다. 예를 들어 수정 후 DKIM 검사가 실패에서 통과로 바뀌면 해당 테스트 행에 바로 표시됩니다. 테스트를 열면 보고서와 각 제공업체의 수신 서버가 응답한 내용을 확인할 수 있습니다. 각 계정의 최근 테스트 200개가 고객 서버에 보관됩니다.

상시 모니터링

메일함에서 실행한 테스트는 해당 메일함의 이메일이 어떻게 발송되는지 보여줍니다. 하지만 cPanel의 대표적인 문제는 다른 곳에서 발생합니다. WordPress 사이트나 문의 양식이 봉투 발신자를 user@hostname으로 설정해 이메일을 보내면 SPF 정렬이 깨지며, 메일함에서 실행하는 테스트로는 이 문제를 확인할 수 없습니다. 모니터링은 이를 확인합니다.

모니터링이 만드는 보이지 않는 사본은 원본 이메일과 동일한 경로를 통해 서버에서 전송되며, 같은 IP, 같은 HELO, 같은 DKIM 서명을 사용합니다. Exim은 모니터링 중인 도메인이 보내는 각 이메일의 사본을 만들어 해당 도메인에 속한 비공개 주소로 전달합니다. 따라서 보고서는 실제 전송 경로를 설명하며, 원본 이메일은 변경되지 않은 상태로 수신자에게 전달됩니다.

모니터링 탭에는 도메인의 이메일이 피드 형식으로 표시됩니다. 각 항목에는 수신자의 도메인만 표시되고 주소는 표시되지 않으며, 이메일이 어디에서 전송되었고 어떤 검사가 실패했는지 확인할 수 있습니다. 출처는 webmail, 메일 클라이언트, PHP, WordPress, sendmail을 호출하는 스크립트입니다. 피드 위에는 최근 24시간을 요약한 한 줄과 알림이 표시됩니다. 알림에는 DKIM 통과 중단, 특정 출처의 SPF 또는 DMARC 실패, 발신 IP의 차단 목록 등재, 수신 서버의 이메일 거부가 포함됩니다. 각 이메일을 열면 검사 결과에 대한 기술 보고서를 확인할 수 있습니다. 이메일 헤더는 제외됩니다. 고객은 해당 이메일에 대한 AI 계획을 요청할 수도 있습니다.

관리자가 서버에서 모니터링을 허용할 때까지 이 기능은 꺼진 상태로 유지됩니다. 관리자가 허용한 후에는 각 고객이 자신의 도메인에 대해 직접 모니터링을 켭니다.

WHM에서 제공되는 기능

WHM » Plugins » Email Spam Tester는 단일 페이지로 구성됩니다.

가격

현재는 무료이며 모니터링도 포함됩니다. email-spam-tester.com에서는 계정을 만들 필요가 없으며 현재 결제할 비용도 없습니다. 향후 변경되는 경우 변경 로그에 먼저 공지됩니다.

데이터 및 개인정보 보호

서버 외부로 전송되는 정보:

테스트 보고서는 사이트에서와 같은 방식으로 작동합니다. 보고서는 해당 링크에 계속 유지되며, 링크가 있는 사람은 누구나 제목과 발신자를 포함해 보고서를 열 수 있습니다. 이메일 자체는 도착 후 검사가 완료되면 1시간 뒤 삭제되며, 삭제 전까지는 링크가 있는 사람이라면 누구나 전체 내용을 읽을 수 있습니다. 위에서 설명한 대로 폴더 검사 중 Gmail 부분도 공개되므로, 기밀 이메일은 이 기능을 사용하지 않고 테스트하는 편이 좋습니다.

모니터링 사본은 실제 서신이며, 해당 보고서는 비공개입니다. 서버의 플러그인만 설치 키를 사용해 보고서를 열 수 있으며 공개 링크는 없습니다. 사본은 도착 후 2일이 지나면 삭제되고, 보고서는 90일 후 삭제됩니다. 기록과 모니터링 피드는 서버에 유지됩니다.

개인정보 보호 페이지에서 전체 정책을 확인할 수 있습니다.

호스팅 제공업체가 묻는 질문

DNS를 자동으로 변경하나요?

아니요. 레코드는 고객이 검사 결과 옆의 버튼을 누르고 변경 전후 내용을 확인한 경우에만 변경되며, 서버에서 해당 도메인의 DNS를 호스팅하는 경우에만 적용됩니다. SPF 및 DMARC 버튼은 누락된 레코드만 생성합니다. 기존 레코드가 있으면 고객이 직접 복사할 수 있도록 병합된 형태로 표시되며, 버튼으로 기존 레코드를 교체하지 않습니다. DKIM 버튼은 서버의 키와 일치하지 않는 레코드를 교체할 수 있지만, 해당 레코드가 정확히 하나인 경우에만 가능합니다. 모든 변경 사항은 계정 로그와 /var/cpanel/email_spam_tester/ 아래의 로그에 기록되며, 변경 전에 DNS에서 제공하던 레코드도 함께 기록됩니다. 이 로그는 root만 편집할 수 있습니다.

서버가 스마트호스트를 통해 발신 메일을 릴레이합니다. 그래도 작동하나요?

작동할 것으로 예상하지만, 아직 스마트호스트 환경에서는 테스트하지 않았습니다. 테스트 이메일은 해당 계정의 다른 모든 메일과 같은 방식으로 전송되므로, 보고서에는 릴레이의 IP와 이름이 표시됩니다. 수신자에게 보이는 정보가 이것이기 때문입니다. 릴레이의 역방향 DNS를 수정하거나 차단 목록에서 제거하는 작업은 릴레이 운영자가 처리해야 합니다. 다만 한 가지 정보는 확인할 수 없게 됩니다. 제공업체가 이메일을 거부한 이유는 서버의 Exim 로그에서 가져오는데, 릴레이를 사용하면 이 로그에는 릴레이의 응답만 남습니다. 릴레이가 수락했지만 제공업체가 나중에 거부한 이메일은 "Not received"로 표시될 수 있습니다. 모니터링 사본도 릴레이를 통해 전송됩니다.

모니터링이 전송 가능성에 영향을 주나요?

고객의 이메일은 이전과 동일하게 변경 없이 전송되며, 사본은 별도로 저희 주소에 전달되므로 수신자에게는 아무것도 표시되지 않습니다. 다만 시간당 발송 한도에는 영향을 줍니다. 각 사본은 도메인의 "max emails per hour" 한도에 한 번씩 포함되므로, 한도에 가까운 도메인은 기본 설정 기준으로 시간당 최대 20개의 이메일만큼 더 빨리 한도에 도달합니다. 한 시간 동안 이 수를 초과하면 이후 이메일은 사본 없이 전송됩니다.

폴더 확인도 시간당 한도에 포함되나요?

예. 약 30개의 이메일을 전송합니다. 플러그인은 시작하기 전에 해당 시간에 도메인이 보낼 수 있는 이메일 수를 확인하고, 충분하지 않으면 고객에게 알려줍니다.

실제 환경에서 테스트된 항목은 무엇인가요?

cPanel & WHM 134 이상을 지원합니다. 현재까지 Ubuntu 24.04의 138(11.138) 버전에서 실제 테스트했습니다. 설치와 업그레이드, 등록, 기능 전환, 폴더 확인을 포함하거나 제외한 테스트, 기록, 네 가지 소스에서 전송된 이메일의 모니터링을 확인했습니다. 아직 실제 테스트하지 않은 항목은 다른 운영 체제, CageFS를 사용하는 CloudLinux, DKIM, SPF 및 DMARC 버튼(테스트 서버의 DNS가 다른 곳에서 호스팅됨), 스마트호스트를 통해 릴레이하는 서버, 전체 서버의 모니터링 비활성화입니다. 전체 서버의 모니터링 비활성화는 모의 실행만 진행했습니다. 이러한 환경 중 하나에서 플러그인을 실행했다면 결과가 어땠는지 알려주세요.

단계별 설치

이 가이드는 서버의 root 권한이 있고 WHM 플러그인을 사용해 본 적이 없다고 가정합니다. 아래의 모든 명령은 표시된 그대로 복사하여 붙여넣으면 됩니다.

1. 필요한 사항

설치 전에 두 연결을 모두 확인할 수 있습니다. 첫 번째 명령은 220으로 시작하는 줄을 출력해야 하고, 두 번째 명령은 200을 출력해야 합니다.

timeout 10 bash -c 'exec 3<>/dev/tcp/t.email-spam-tester.com/25 && head -1 <&3'
curl -s -o /dev/null -w '%{http_code}\n' https://email-spam-tester.com/health

2. 설치

SSH를 통해 root로 로그인하고 다음 명령을 하나씩 실행합니다.

플러그인이 위치할 root 홈 디렉터리로 이동합니다.

cd /root

압축 파일과 체크섬을 다운로드합니다. 정상적으로 실행되면 아무것도 출력되지 않습니다.

curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz.sha256

다운로드한 파일이 손상되지 않았는지 확인합니다. latest.tar.gz: OK가 표시되어야 합니다. FAILED가 표시되면 다시 다운로드하고 다음 단계로 진행하지 마세요.

sha256sum -c latest.tar.gz.sha256

/root/email-spam-tester-cpanel에 압축을 풉니다. 이번에도 아무것도 출력되지 않습니다.

mkdir -p email-spam-tester-cpanel
tar -xzf latest.tar.gz -C email-spam-tester-cpanel --strip-components=1

설치 프로그램을 실행합니다. 먼저 모든 파일을 확인한 다음 올바른 위치로 복사합니다.

cd /root/email-spam-tester-cpanel && ./install.sh

Checking Perl syntax…, Root module…, cPanel pages…, cPanel 자체 플러그인 설치 프로그램에서 출력하는 몇 줄, Switching the feature off in all feature lists…, WHM page…가 표시되어야 합니다. 마지막 줄은 다음과 같아야 합니다.

Installed. Next: WHM » Plugins » Email Spam Tester » Register this server.
Customers do not see it yet: turn on email_spam_tester in WHM » Feature Manager
for the feature lists (packages) that should have it.

/root/email-spam-tester-cpanel 디렉터리를 유지하세요. 업그레이드와 uninstall.sh는 이 디렉터리에서 실행됩니다.

3. WHM에 서버 등록

  1. root로 WHM에 로그인합니다.
  2. 왼쪽 메뉴에서 Plugins를 열고 Email Spam Tester를 클릭합니다.
  3. Registration 상자에 "Not registered"가 표시됩니다. 그 아래의 관리자 이메일 필드는 선택 사항입니다.
  4. Register this server를 클릭합니다.

상단에 "Registered. Installation #…"라는 녹색 줄이 표시되고, 상자에는 설치 번호 및 키의 시작 부분과 함께 Status: Registered가 표시됩니다. 등록 시 서버의 호스트 이름, cPanel 버전, 플러그인 버전, 계정 수와 입력한 경우 이메일이 전송됩니다. 키는 /var/cpanel/email_spam_tester/config.json에 저장되며 root만 읽을 수 있습니다.

같은 페이지에서 일일 한도를 변경할 수 있습니다. 기본값은 계정당 20회, 서버당 500회 테스트입니다.

4. 고객에게 활성화

설치 직후에는 아무도 플러그인을 볼 수 없습니다. 이 플러그인을 사용할 패키지를 직접 선택해야 합니다.

  1. 패키지가 사용하는 기능 목록을 확인합니다. WHM » Packages » Edit a Package에서 패키지를 선택하고 Feature List 필드를 확인합니다. 많은 서버에서는 default입니다.
  2. WHM » Packages » Feature Manager를 엽니다.
  3. Manage feature list에서 해당 목록을 선택하고 Edit를 클릭합니다.
  4. 목록에서 Email Spam Tester를 찾고, 확인란을 선택한 다음 Save를 클릭합니다. 목록이 길면 브라우저의 찾기 기능을 사용하면 편리합니다.
  5. 이 플러그인을 제공할 모든 기능 목록에 대해 반복합니다.

이제 해당 패키지를 사용하는 고객은 cPanel의 Email 섹션에서 Email Spam Tester를 볼 수 있습니다. 나중에 새로 만드는 기능 목록에서도 이 항목을 선택해야 합니다.

5. 고객으로 첫 번째 테스트 전송

해당 고객 중 한 명으로 cPanel에 로그인합니다. WHM에서는 Account Information » List Accounts로 이동하여 계정 옆의 cPanel 아이콘을 사용할 수 있습니다.

  1. Email » Email Spam Tester를 엽니다. 페이지에는 Test, History, Monitoring의 세 탭이 있습니다.
  2. Test 탭에서 메일함을 선택합니다. 계정에 메일함이 없으면 먼저 Email » Email Accounts에서 만듭니다.
  3. Standard test email을 선택한 상태로 두고 Check the folder at email providers 확인란도 선택된 상태로 둡니다.
  4. Send test를 클릭합니다.

페이지에 현재 수행 중인 작업이 표시됩니다. DNS 레코드를 확인하고, 이메일을 보내고, 이메일이 도착할 때까지 기다립니다. 약 1분 후 보고서가 표시됩니다. 보고서에는 100점 만점의 기술 점수와 기존 0에서 10까지의 점수, 두 가지 점수가 있으며 그 아래에 What to fix가 있습니다. 이 목록에는 cPanel이 이 서버의 레코드를 수정할 수 있는 경우 사용할 버튼, DNS가 다른 곳에서 호스팅되는 경우 복사할 정확한 레코드, 서버 관리자가 사용할 역방향 DNS 값이 표시됩니다. 그 아래에는 모든 검사 결과가 나옵니다. Where the email landed에는 이후 30분 동안 각 메일 제공업체의 Inbox, Spam 또는 Promotions 도착 여부가 채워집니다. 제공업체가 이메일을 거부한 경우에는 해당 응답도 표시됩니다. 검사 후 몇 분이 지나면 서면 계획이 표시됩니다.

폴더 검사는 약 30개의 이메일을 보냅니다. 도메인의 시간당 발송 한도에 이 이메일들을 보낼 여유가 없으면 아무것도 보내기 전에 페이지에서 이를 알려줍니다.

6. 상시 모니터링(선택 사항)

도메인에 모니터링을 활성화하면 Exim은 해당 도메인이 보내는 모든 이메일의 보이지 않는 사본을 Email Spam Tester의 비공개 주소로 전송하며, 고객은 각 이메일의 기술 보고서를 볼 수 있습니다. 수신자에게는 아무것도 표시되지 않습니다. 각 사본은 도메인의 시간당 발송 한도에서 1회로 계산되며, 기본적으로 시간당 최대 20개입니다.

  1. WHM » Plugins » Email Spam Tester에서 Constant monitoring 상자를 찾아 Allow constant monitoring on this server를 클릭합니다. 플러그인은 Exim 구성을 확인하고 규칙을 추가한 다음 Exim을 다시 빌드하고 재시작합니다. 어느 단계에서든 실패하면 모든 변경 사항을 원래대로 되돌립니다. 정상적으로 완료되면 "Constant monitoring is allowed on this server: the Exim rule is in, Exim was rebuilt and restarted."가 표시되고 상자에서 규칙이 Active로 표시됩니다.
  2. 고객은 cPanel에서 Monitoring 탭을 열고 도메인 옆의 Turn on을 클릭한 다음 확인합니다. 이후 전송된 이메일은 1~2분 내에 탭에 표시됩니다.

서버 전체에서 모니터링을 중지하려면 같은 상자에서 Disable monitoring on the whole server를 클릭합니다.

7. 업그레이드

새 버전을 다운로드하여 기존 버전 위에 압축을 푼 다음 설치 프로그램을 다시 실행합니다.

cd /root
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz.sha256
sha256sum -c latest.tar.gz.sha256
tar -xzf latest.tar.gz -C email-spam-tester-cpanel --strip-components=1
cd /root/email-spam-tester-cpanel && ./install.sh

마지막에 "Updated. The registration, limits and feature settings are unchanged."가 표시되어야 합니다. 모니터링이 허용된 경우 설치 프로그램은 Exim 규칙도 최신 상태로 업데이트합니다.

8. 제거

cd /root/email-spam-tester-cpanel && ./uninstall.sh

이 명령은 Exim에서 모니터링 규칙을 제거하고, 모든 도메인의 모니터링을 비활성화하며, cPanel과 WHM에서 플러그인을 제거합니다. 마지막에 "Removed. The key is kept in /var/cpanel/email_spam_tester (use --purge to delete it)."가 표시됩니다. 키도 삭제하려면 대신 ./uninstall.sh --purge를 실행합니다.

고객이 플러그인의 버튼을 사용해 만든 레코드를 포함하여 DNS 레코드는 절대 변경되지 않습니다.

9. 문제가 발생한 경우

고객에게 아이콘이 표시되지 않습니다. 해당 고객 패키지의 기능 목록에서 이 기능이 꺼져 있습니다. 4단계를 다시 수행하고 해당 패키지가 실제로 어떤 기능 목록을 사용하는지 확인합니다.

페이지에 "The server administrator has not activated Email Spam Tester in WHM yet"가 표시됩니다. 서버가 등록되지 않았습니다. 3단계를 수행합니다.

등록에 실패합니다. WHM 페이지 상단의 빨간색 메시지에 원인이 표시됩니다. 가장 흔한 원인은 서버가 HTTPS를 통해 email-spam-tester.com에 연결할 수 없는 경우입니다. 1단계의 curl 검사를 실행하세요. 이 검사는 200을 출력해야 합니다. 그런 다음 발신 트래픽에 대한 방화벽 규칙을 확인합니다.

테스트에 메시지가 3분 이내에 도착하지 않았다고 표시됩니다. 이메일이 대기열에 걸려 있거나 거부되었습니다. 1단계의 포트 25 검사를 실행합니다. 아무것도 출력되지 않거나 시간 초과가 발생하면 제공업체가 발신 포트 25를 차단하고 있는 것입니다. 포트를 열어 달라고 요청하거나 릴레이를 통해 메일을 보내세요. Exim이 이메일을 어떻게 처리했는지 확인하려면 다음을 실행합니다.

grep 't.email-spam-tester.com' /var/log/exim_mainlog | tail -5

고객은 해당 메일함에 대해 Email » Track Delivery에서도 확인할 수 있습니다.

cpanel.<domain>의 페이지에서 가끔 502 오류가 발생합니다. 이는 cPanel 서비스 하위 도메인용 Apache 프록시에서 발생하는 문제이며, 이 플러그인뿐만 아니라 모든 cPanel 페이지에 영향을 줍니다. 직접 주소 https://<domain>:2083은 영향을 받지 않습니다. 문제를 해결하려면 WHM » Service Configuration » Apache Configuration » Include Editor를 열고 모든 버전에 대해 Pre VirtualHost Include를 선택한 다음 다음 줄을 추가하고 저장합니다.

<IfModule setenvif_module>
    SetEnvIfNoCase Host "^(cpanel|webmail|whm|webdisk|cpcalendars|cpcontacts)\." proxy-nokeepalive=1 proxy-initial-not-pooled=1
</IfModule>

그런 다음 적용합니다.

apachectl configtest && /scripts/rebuildhttpdconf && /scripts/restartsrv_httpd

10. 지원

hi@email-spam-tester.com으로 문의하세요. 설치에 실패했다면 ./install.sh의 출력을, 테스트 결과가 잘못된 것으로 보이면 보고서 링크를 포함하세요. 플러그인에 대한 자세한 내용은 https://email-spam-tester.com/cpanel-integration/에서 확인할 수 있습니다.