폼메일 발송시 받는 사람 메일 주소 형식 문제
본문
게시판에서 폼메일 발송 시
일부 정상(?) 형식의 메일(aaa@ gmail.com, aaa@ naver.com 등)을
가지고 있는 회원에게는 폼메일이 잘 발송됩니다.
그런데 받는 사람의 메일 주소 중
1) 아이디에 ' . '이 있을 경우 (ex. aaa.aaa@ gmail.com)
2) 메일주소 nate.com 경우 (ex. aaa@ nate.com)
위의 경우에 메일 발송이 되지 않습니다.
에러 내용은 다음과 같습니다.
1)번의 경우 "이메일이 올바르지 않습니다' 에러창 동반
-> 폼메일페이지 소스 열어보면 받는 사람 주소가 빈칸
2)번의 경우 받는 사람 주소가 aaa@ nate.ch 로 되어있어 발송 안됨
폼메일창 생성 때 메일 주소의 encrypt, decrypt 과정에서
오류가 나는 것 같은데 저만의 문제인지 알려진 문제인지 궁금합니다. ㅠㅠ
가입 시 인증 메일 발송 기능의 경우에는 메일 형식과 상관없이 잘 발송됩니다...
※ 참고: 작성된 내용 중 예시 메일 주소 @ 뒤에 공백있는 이유는 본 게시판 출력을 위함.
답변 4
정상적인 메일주소를 판단하는 정규식에서 걸러지는듯 한데.
게시판에서 바로 폼메일을 보낼 수 있었던가요? 따로 스킨을 사용하고 계시는건지;
/[0-9a-zA-Z_]+(\.[0-9a-zA-Z_]+)*@[0-9a-zA-Z_]+(\.[0-9a-zA-Z_]+)*/으로 되어있는지 확인하시기 바랍니다.
2번의 경우 메일주소 자체가 잘못되어서 아예 발송이 안되는 경우 같네요
- 일단 이것을 먼저 참고하시고, http://zzaps.tistory.com/24
/lib/common.lib.php
------------------------
class str_encrypt
{
var $salt;
var $lenght;
function __construct($salt='')
{
if(!$salt)
//$this->salt = md5(preg_replace('/[^0-9A-Za-z]/', substr(G5_MYSQL_USER, -1), G5_MYSQL_PASSWORD));
$this->salt = sha1(preg_replace('/[^0-9A-Za-z]/', substr(G5_MYSQL_USER, -1), G5_MYSQL_PASSWORD)); //이것으로 수정
----------------------------------------------
제가 md5, sha1의 차이점은 잘 모르겠으나, 중요한 것은 암호화한 결과물의 자릿수에 영향을 받는 것 같습니다.
$this->salt = md5(preg_replace('/[^0-9A-Za-z]/', substr(G5_MYSQL_USER, -1), G5_MYSQL_PASSWORD), true); - 결과물 16자.
$this->salt = md5(preg_replace('/[^0-9A-Za-z]/', substr(G5_MYSQL_USER, -1), G5_MYSQL_PASSWORD), false);- 결과물 32자, 기본값
로 테스트 해보시면,
true 일때 올바로 해독 것이, false 일때 해독이 안되고,
true 일때 올바로 해독 안되는 것이, false 일때 해독이 되네요.
-- sha1 --> 결과물 40자, 기본값(false)
제가 테스트 한 것은 다됨.
※ 참고하시기 바랍니다.
그누보드5 게시판 자체는 폼메일을 제공하지 않네요;;;;;;
말씀하신대로 따로 스킨을 사용 중입니다;;;;;
정규식은 lib/common.lib.php 에 있는 부분 말씀하시는거죠?
답변 해 주신 부분: /[0-9a-zA-Z_]+(\.[0-9a-zA-Z_]+)*@[0-9a-zA-Z_]+(\.[0-9a-zA-Z_]+)*/
작성되어있는부분: /[0-9a-z_-]+@[a-z0-9._-]{4,}/i
답변 해주신 부분으로 수정해도 같은 문제인거보니 스킨 문제인거같습니다.
2번의 경우는 DB 보면 aaa@ nate.com 으로 잘 저장되어있는데 메일 발송시 소스 추적해서 확인해보면
받는 사람이 aaa@ nate.ch 로 변경되어있습니다.
일단 모든 부분 스킨 문제로 보여 스킨부터 확인해보겠습니다.
답변 감사드립니다.
고대영님!!능력자!!
해결되었어요!!!!!!!!!!! 완전 메일 잘 보내짐!!!!!!!!!
와...진짜 이것때문에 스킨에서 소스 눈빠지게 보고 이것저것바꿔봐도 해결안되었는데
common/lib.php 에서 md5 --> sha1 이것만 바꿔도 바로 해결되네요!!!!
아직 md5하고 sha1 차이 확실히 이해 못했는데 암튼 체증이 확 내려감!!넘넘 감사드려요
본 코드 수정이 그누보드5에 문제없다면 다음 업데이트 때 반영되었으면 좋겠네요~
채택은 이미 해서 또 채택이 안되네요 ㅠ