테스트 사이트 - 개발 중인 베타 버전입니다

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

coDribble 5년 전 조회 4,005

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

 

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

 

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

 

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

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

 

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

 

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

</p>

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

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

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

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

<p> </p>

<p>    <select name="fcate" required></p>

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

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

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

<p>    </select></p>

<p></form></p>

<p>

 

 

/bbs/formmail_send.php

</p>

<p>// 기존 받는 메일 소스</p>

<p>// $email_enc = new str_encrypt();

// $to = $email_enc->decrypt($to);</p>

<p> </p>

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

<p>$email_enc = new str_encrypt();</p>

<p>$cate = trim($_POST['fcate']);</p>

<p>if( $cate === 'a' )</p>

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

<p>else</p>

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

<p>

 

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

 

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

 

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

 

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

 

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

 

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

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

답변 3개

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

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

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

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

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

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

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

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

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

sad4u
5년 전

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

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

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

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

말씀해주신 서버설정문제인가 싶어서 후이즈에 문의를 남겨놓은 상태입니다ㅠㅠㅠ

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

$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개

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

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

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

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

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

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

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

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

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

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

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

로그인