미채택 완료
폼메일 발송시 선택된 값에 따라 받는 메일을 다르게 설정
기존 폼메일 발송을 그대로 사용하고 있습니다. /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개
서버에서 메일발송로그를 한번 확인해보심은 어떨까요
서버설정문제나 화이트도메인 등록문제일 지도 모르겠네요
답변에 대한 댓글 1개
$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 에 입력된 메일 주소 그대로 출력됩니다;;
개발자가 아니다보니 가져다 쓰는 건 알아도 이런 이슈발생했을때 뭐라 검색해야 할지 막막하네요;;
메일이 들어오지 않는 이유가 궁금합니다ㅠㅠㅠ
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 로 나뉘어서 잘 들어오는데...ㅠㅠㅠ
유독 이 사이트만 이러네요;;
대체 원인이 뭘까요..ㅠㅠㅠ
encrypt 문제는 아닌것 같습니다....;;;
다른 곳에서는 encrypt에 감싼채로 보내거나 $config['cf_1'] 로만 해서 보내도 메일이 분리돼서 잘 들어옵니다;;ㅠㅠㅠ a 선택 후 발송시 cf_1 로, b 선택 후 발송시 cf_2 로 나뉘어서 잘 들어오는데...ㅠㅠㅠ
유독 이 사이트만 이러네요;;
대체 원인이 뭘까요..ㅠㅠㅠ
답변을 작성하려면 로그인이 필요합니다.
후이즈 쪽에서는 폼메일 정책(?)이 바뀌면서 발송메일에 꼭 도메인주소가 들어간 메일주소로 보내야 발송이 가능하다고 하네요...
그래서 후이즈쪽에서는 기본환경설정 > 관리자메일에 도메인이 포함된 메일 주소를 넣으라고 해서
후이즈아이디@도메인 으로 설정해놓고...
$fmail 을 그냥 관리자에 등록된 위 메일주소를 강제로 박고, 구현했습니다...
이 방식의 단점이라면은... 문의는 내가 했는데 발송메일은 관리자 메일이 되는 식입니다...
어차피 받는 사람도 관리자일꺼라 크게 상관은 없지만... 그래서 문의한 사람의 메일은 $mail_content 에 끼워넣어서 보여주는 식으로 수정했습니다...ㅠㅠㅠ