미채택 완료

폼메일 발송시 선택된 값에 따라 받는 메일을 다르게 설정

2020-05-20 (수) 18:27:29 4,329

기존 폼메일 발송을 그대로 사용하고 있습니다. /bbs/formmail_send.php

contact 페이지를 만들고 문의폼에 action 을 formmail_send 로 걸어서 사용중인데요...

양식에서 분류를 선택해서 선택된 값에 따라

a 선택 후 메일 발송시 A메일로 발송되게,

b 선택 후 메일 발송시 B메일로 발송되게 하려는데

메일은 발송되었다고 뜨나... 정작 메일은 들어오고있질 않습니다...;;

폼메일양식작성하는 페이지

Copy
<form action="<?php echo G5_BBS_URL; ?>/formmail_send.php" method="post" ~~~>

    <input type="hidden" name="type" value="0">

    <!-- <input type="hidden" name="to" value="<?php echo $email; ?>"> 선택된 값에 따라 받는 메일 주소가 바뀌어야하기때문에 사용하지 않습니다. -->

    <input type="hidden" name="attach" value="1">

 

    <select name="fcate" required>

        <option value="">분류 선택</option>

        <option value="a">a</option>

        <option value="b">b</option>

    </select>

</form>

/bbs/formmail_send.php

Copy
// 기존 받는 메일 소스

// $email_enc = new str_encrypt();
// $to = $email_enc->decrypt($to);

 

// 선택된 cate 값에 따라 받는 메일 주소 변경

$email_enc = new str_encrypt();

$cate = trim($_POST['fcate']);

if( $cate === 'a' )

    $to = $email_enc->decrypt($config['cf_1']); // 기본환경설정 여분필드 1에 저장된 메일주소

else

    $to = $email_enc->decrypt($config['cf_2']); // 기본환경설정 여분필드 2에 저장된 메일주소

이렇게 수정했는데 위에 말씀드린것 처럼

정상적으로 발송됐다는 alert창은 뜨는데 메일이 오질 않습니다...ㅠㅠㅠ

이게 오류라도 뜨면 어디가 오류났는지 찾아서 해보기라도 할텐데...

정상발송됐다고하니... 어느부분을 찾아봐야하는지 막막합니다;;ㅠㅠㅠ

분류를 선택하고 정상 발송 alert에 $to 값을 찍어봐도 그때그때 바뀐 메일 주소로 잘 들어옵니다..;;

어느 부분이 문제인지 아는 방법이 있을까요??

답변 3개 / 댓글 4개

2020-05-21 (목) 17:44:55

서버쪽 문제라면 해결 어려우시겠네요. 잘해결되길 바래요.

답변에 대한 댓글 1개

답변 감사드립니다 ㅠㅠㅠ 쫌 찜찜하지만 해결은 됐습니다...;;

후이즈 쪽에서는 폼메일 정책(?)이 바뀌면서 발송메일에 꼭 도메인주소가 들어간 메일주소로 보내야 발송이 가능하다고 하네요...

그래서 후이즈쪽에서는 기본환경설정 > 관리자메일에 도메인이 포함된 메일 주소를 넣으라고 해서

후이즈아이디@도메인 으로 설정해놓고...

$fmail 을 그냥 관리자에 등록된 위 메일주소를 강제로 박고, 구현했습니다...

이 방식의 단점이라면은... 문의는 내가 했는데 발송메일은 관리자 메일이 되는 식입니다...

어차피 받는 사람도 관리자일꺼라 크게 상관은 없지만... 그래서 문의한 사람의 메일은 $mail_content 에 끼워넣어서 보여주는 식으로 수정했습니다...ㅠㅠㅠ

서버에서 메일발송로그를 한번 확인해보심은 어떨까요

서버설정문제나 화이트도메인 등록문제일 지도 모르겠네요

답변에 대한 댓글 1개

일단 제가 개발자가 아니다보니 메일발송로그 관련해서 구글링해보니.... 제가 해볼 수 있는게 아니더라구요....ㅠㅠ

나인보스님 답변에 달아놓은 댓글에서처럼 타사이트에서는 정상적으로 작동합니다.(메일발송,수신)

제작중인 호스팅서버는 후이즈서버를 사용중이고, 정상적으로 작동하는 사이트의 호스팅서버는 스쿨호스팅서버를 사용중입니다.

말씀해주신 서버설정문제인가 싶어서 후이즈에 문의를 남겨놓은 상태입니다ㅠㅠㅠ
2020-05-20 (수) 20:07:07
$email_enc new str_encrypt();
  $cate = trim($_POST['fcate']);
  if$cate === 'a' )
      $to $config['cf_1']; // 기본환경설정 여분필드 1에 저장된 메일주소
  else
      $to $config['cf_2']; // 기본환경설정 여분필드 2에 저장된 메일주소

$to = $email_enc->decrypt($to);

일단 수정전에 잘되었다고 가정하면 str_encrypt() 클래스를 안봐서 모르겠지만 배열 처리가 안되거나 다른 문제 있을지 모르니 위에 처럼 소스를 변경해보세요.

답변에 대한 댓글 2개

기존 폼메일 같은 경우는 애초에 /bbs/formmail.php 에서 to 부분에 관련된 메일 주소를 str_encrypt($email) 시키는 부분이 있어서

formmail_send 에서 받는 메일 주소에도 str_encrypt($config['cf_1']) 로 써본거였는데

str_encrypt($config['cf_1']) 로 했을때나 $config['cf_1'] 로 했을때 출력되는 결과값은 동일한데요;; cf_1 에 입력된 메일 주소 그대로 출력됩니다;;

개발자가 아니다보니 가져다 쓰는 건 알아도 이런 이슈발생했을때 뭐라 검색해야 할지 막막하네요;;

메일이 들어오지 않는 이유가 궁금합니다ㅠㅠㅠ
일단 지금 제작중인 사이트에 있는 소스를 다른 사이트에 옮겨서 테스트 해봤는데

encrypt 문제는 아닌것 같습니다....;;;

다른 곳에서는 encrypt에 감싼채로 보내거나 $config['cf_1'] 로만 해서 보내도 메일이 분리돼서 잘 들어옵니다;;ㅠㅠㅠ a 선택 후 발송시 cf_1 로, b 선택 후 발송시 cf_2 로 나뉘어서 잘 들어오는데...ㅠㅠㅠ

유독 이 사이트만 이러네요;;

대체 원인이 뭘까요..ㅠㅠㅠ

답변을 작성하려면 로그인이 필요합니다.