diff --git a/adm/sendmail_test.php b/adm/sendmail_test.php index 0332d43bd..1768a91db 100644 --- a/adm/sendmail_test.php +++ b/adm/sendmail_test.php @@ -20,33 +20,65 @@ if (isset($_POST['email'])) { $_POST['email'] = strip_tags($_POST['email']); $email = explode(',', $_POST['email']); - $real_email = array(); + $sent_email = array(); // 발송 요청 성공 + $failed_email = array(); // 발송 실패 (메일 서버에서 거부/오류) for ($i=0; $i[메일검사] 내용

이 내용이 제대로 보인다면 보내는 메일 서버에는 이상이 없는것입니다.

'.G5_TIME_YMDHIS.'

이 메일 주소로는 회신되지 않습니다.', 1); + + $to = trim($email[$i]); + $send_result = mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $to, '[메일검사] 제목', '[메일검사] 내용

이 내용이 제대로 보인다면 보내는 메일 서버에는 이상이 없는것입니다.

'.G5_TIME_YMDHIS.'

이 메일 주소로는 회신되지 않습니다.', 1); + + if ($send_result) { + $sent_email[] = $to; + } else { + $failed_email[] = $to; + } } - if( $real_email ){ + if( $sent_email || $failed_email ){ echo '

'; - echo '

결과메세지

'; - echo '

'; - echo '다음 '.count($real_email).'개의 메일 주소로 테스트 메일 발송이 완료되었습니다.'; - echo '

'; - echo ''; - echo '

'; - echo '해당 주소로 테스트 메일이 도착했는지 확인해 주십시오.
'; - echo '만약, 테스트 메일이 오지 않는다면 더 다양한 계정의 메일 주소로 메일을 보내 보십시오.
'; - echo '그래도 메일이 하나도 도착하지 않는다면 메일 서버(sendmail server)의 오류일 가능성이 높으니, 웹 서버관리자에게 문의하여 주십시오.
'; - echo '도메인을 소유하고 있을시 SPF, DKIM 설정이 필요할수 있습니다.
'; - echo '

'; + + if( $failed_email ){ + echo '

'; + echo '다음 '.count($failed_email).'개의 메일 주소는 발송에 실패했습니다.'; + echo '

'; + echo ''; + echo '

'; + echo '발송 실패는 받는 사람의 문제가 아니라 보내는 서버(메일 발송) 설정 문제일 가능성이 높습니다.
'; + echo 'SMTP 정보(주소/포트/인증)가 올바른지, 서버에서 메일 발송(sendmail/mail 함수)이 허용되어 있는지 확인하시고, 웹 서버 관리자(호스팅 업체)에게 문의해 주십시오.
'; + echo '자세한 오류 내용은 서버의 PHP error_log 에 기록됩니다.
'; + echo '

'; + } + echo '
'; } } @@ -56,11 +88,11 @@ if (isset($_POST['email'])) {

테스트 메일 발송

- 메일서버가 정상적으로 동작 중인지 확인할 수 있습니다.
+ 사이트에서 메일 서버로 메일을 전달할 수 있는지 확인합니다. 이 테스트는 받은편지함 도착을 보장하지 않습니다.
아래 입력칸에 테스트 메일을 발송하실 메일 주소를 입력하시면, [메일검사] 라는 제목으로 테스트 메일을 발송합니다.
보내는 메일주소 :
- 기본환경설정에서 관리자 메일 주소를 name'.domain_mail_host().' 과 같은 도메인 형식으로 설정할것을 권장합니다.'; ?> + 외부메일설정이나 기타 설정을 하지 않았다면, 기본환경설정에서 관리자 메일 주소를 name'.domain_mail_host().' 과 같은 도메인 형식으로 설정할것을 권장합니다.'; ?>

@@ -75,11 +107,11 @@ if (isset($_POST['email'])) {

- 만약 [메일검사] 라는 내용으로 테스트 메일이 도착하지 않는다면 보내는 메일서버 혹은 받는 메일서버 중 문제가 발생했을 가능성이 있습니다.
- 따라서 보다 정확한 테스트를 원하신다면 여러 곳으로 테스트 메일을 발송하시기 바랍니다.
+ 테스트 결과가 발송 요청 성공으로 표시되어도 수신 메일 서버의 스팸 정책에 따라 도착하지 않을 수 있습니다.
+ 정확한 확인을 위해 여러 메일 서비스로 테스트하고, 도착하지 않으면 스팸함과 도메인 인증(SPF, DKIM, DMARC)을 확인해 주십시오.