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

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

QA

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

본문

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

 

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

 

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

 

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

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

 

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

 

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


<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


// 기존 받는 메일 소스
// $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

$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() 클래스를 안봐서 모르겠지만 배열 처리가 안되거나 다른 문제 있을지 모르니 위에 처럼 소스를 변경해보세요.

기존 폼메일 같은 경우는 애초에 /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 로 나뉘어서 잘 들어오는데...ㅠㅠㅠ

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

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

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

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

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

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

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

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

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

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

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

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

후이즈아이디  으로 설정해놓고...

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

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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 167
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT