게시판 작성자에게 메일 보내기
본문
게시판 뷰 페이지 안에 버튼을 추가해서 게시물 작성자에게 메일 보내기 창을 띄우려고 하는데,
<a href="<?php echo G5_BBS_URL ?>/formmail.php?mb_id=<?php echo $view['mb_id']; ?>&name=<?php echo urlencode($view['wr_name']);?>&email=<?php echo get_string_encrypt($email_send); ?>" onclick="win_memo(this.href); return false;" target="_blank">
버튼
</a>
위에 코드로 기입을 하면 "이메일 주소가 올바르지 않습니다."라고 경고창만 뜨는데 해결방법 좀 알 수 있을까요??
답변 7
제가 그누보드 소스를 확인해보니... 제가 말했던 거 잘못되었네요.
$email_dec = $email_enc->decrypt($email);
formmail.php 내에서 이렇게 디크립트를 해주고 있네요
위에 get_string_encrypt 를 빼지 마세요. ( 작성자님이 추가하신 줄 알고... ;;; 죄송합니다.)
좀 더 확인해보니,
아래 함수에서 정규표현식 체크를 하는데, 이 형식에 안맞는 이메일이어서 에러 같아요.
\lib\common.lib.php
function get_email_address($email)
{
preg_match("/[0-9a-z._-]+@[a-z0-9._-]{4,}/i", $email, $matches);
return $matches[0];
}
표현식상으로는.. 아마 이메일 중에 도메인이 4자 미만이거나 숫자/알파벳 등이 아닌 다른 문자가 있거나
그런 이유일 거 같네요.
<?php echo get_string_encrypt($email_send); ?>
에서 get_string_encrypt 가 인코딩 해서 그런거네요. 이걸 빼야 합니다.
<?php echo $email_send; ?>
넘기는 이메일 자체문제일 수도요. 주소가 어떻게 넘어가는지... 보셔야 할 듯 하네요
주소를 확인해보셔야 할 듯요
$email_send 값이 정상적으로 넘오는지를 확인해보시기 바랍니다.
그러시면.. 전송되고 있는 (에러나는) email 주소를 한번 올려주시는 게 좋겠네요
&email=이메일 값
소스보기에서 해당라인에 정상적으로 메일 주소가 오는지를 묻는거에요...
formmail.php 페이지에 아래 소스 값에 정상으로 값이 넘어와 이메일로 전환되는지 확인이 필요합니다.
$email_enc = new str_encrypt();
$email_dec = $email_enc->decrypt($email);
$email = get_email_address($email_dec);