게시판 뷰 페이지 안에 버튼을 추가해서 게시물 작성자에게 메일 보내기 창을 띄우려고 하는데,
<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개 / 댓글 12개
제가 그누보드 소스를 확인해보니... 제가 말했던 거 잘못되었네요.
$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자 미만이거나 숫자/알파벳 등이 아닌 다른 문자가 있거나
그런 이유일 거 같네요.
&email=이메일 값
소스보기에서 해당라인에 정상적으로 메일 주소가 오는지를 묻는거에요...
답변에 대한 댓글 1개
&email=n2y8eqN9tpzQmX91mI6fz56tnqCVtZNh 이렇게 나오는데
관리자 페이지에서 메일 보내기 클릭 후 주소 끝에는
&email=o6XJpJSho6LC2ZiklJel0Q-- 이렇게 나옵니다.
보내고자 하는 사람은 동일한데, 보내는 링크 주소 끝이 다르게 나와서 메일 출력을 제대로 못하고 있는 거 같습니다. 그래서 어디를 수정해야할지 도무지 감이 오지를 않는데
어디를 수정해야하면 해결할 수 있을까요??
그러시면.. 전송되고 있는 (에러나는) email 주소를 한번 올려주시는 게 좋겠네요
답변에 대한 댓글 7개
$email_send 값이 정상적으로 넘오는지를 확인해보시기 바랍니다.
넘기는 이메일 자체문제일 수도요. 주소가 어떻게 넘어가는지... 보셔야 할 듯 하네요
주소를 확인해보셔야 할 듯요
<?php echo get_string_encrypt($email_send); ?>
에서 get_string_encrypt 가 인코딩 해서 그런거네요. 이걸 빼야 합니다.
<?php echo $email_send; ?>
답변에 대한 댓글 1개
답변해주셨던 해당 코드로 변경했는데 동일하게 "이메일 주소가 올바르지 않습니다."라고 뜨는데, 다른 수정할 부분이 더 있는건가요??
답변을 작성하려면 로그인이 필요합니다.
{
preg_match("/[0-9a-z._-]+@[a-z0-9._-]{4,}/i", $email, $matches);
return $matches[0];
}
답변 주신 내용에서 도메인 {4} 부분을 {10}으로 바꿔도 동일하게 오류가 나는데 다른 방법 없을까요??