답변 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자 미만이거나 숫자/알파벳 등이 아닌 다른 문자가 있거나
그런 이유일 거 같네요.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
formmail.php 페이지에 아래 소스 값에 정상으로 값이 넘어와 이메일로 전환되는지 확인이 필요합니다.
$email_enc = new str_encrypt(); $email_dec = $email_enc->decrypt($email);
$email = get_email_address($email_dec);
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
&email=n2y8eqN9tpzQmX91mI6fz56tnqCVtZNh 이렇게 나오는데
관리자 페이지에서 메일 보내기 클릭 후 주소 끝에는
&email=o6XJpJSho6LC2ZiklJel0Q-- 이렇게 나옵니다.
보내고자 하는 사람은 동일한데, 보내는 링크 주소 끝이 다르게 나와서 메일 출력을 제대로 못하고 있는 거 같습니다. 그래서 어디를 수정해야할지 도무지 감이 오지를 않는데
어디를 수정해야하면 해결할 수 있을까요??
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 7개
해당 관리자 이메일로 테스트 발송 하려고 합니다.
영어(특수기호x 숫자x) @ 네이버.com < 이렇게 되어있습니다.
https://regexr.com/
여기에서 정규식 [0-9a-z._-]+@[a-z0-9._-]{4,} 넣으시고,
아래에 Text 칸에 해당 이메일 넣고 테스트 해보세요.
text 보낼 메일 넣는게 맞나요?? 해당 방법이 맞다면 확인을 어떻게 하면 ㄷ expression에 "/[0-9a-z._-]+@[a-z0-9._-]{4,}/i" 코드 기입하고
text 보낼 메일 넣는게 맞나요??
위에 방법이 맞다면 설정 후 어떻게 확인하면 되는건가요??
[0-9a-z._-]+@[a-z0-9._-]{4,} 만 넣으세요.
그리고 text 칸에 메일 넣는게 맞구요.
제대로 되면 메일만 하이라잇 (형광펜 효과) 됩니다.
function get_email_address($email)
{
preg_match("/[0-9a-z._-]+@[a-z0-9._-]{4,}/i", $email, $matches);
return $matches[0];
}
여기서 에러가 나온다는 게 의아하네요.
이 함수에서 올바른 이메일이 리턴된다면 이후 오류 메시지는 나오지 않았을텐데...
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
답변해주셨던 해당 코드로 변경했는데 동일하게 "이메일 주소가 올바르지 않습니다."라고 뜨는데, 다른 수정할 부분이 더 있는건가요??
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
{
preg_match("/[0-9a-z._-]+@[a-z0-9._-]{4,}/i", $email, $matches);
return $matches[0];
}
답변 주신 내용에서 도메인 {4} 부분을 {10}으로 바꿔도 동일하게 오류가 나는데 다른 방법 없을까요??