지식 보관소
▣ 전문지식, 저작권 관련 자료들 중 일부만 공유하고 싶을때 사용할 수 있는 게시판 입니다.
▣ 정회원 이상만 다운로드가 가능하니 참고하시기 바랍니다.
작성일자 | 2014-06-27 |
---|---|
수정일자 |
xe 1.7.x 이상 버전만 해당 될 수 도 있습니다.
이 서버는 작성일 기준으로 1.7.5.3 이 설치되어 있습니다.
우선 \xe 설치 경로 \classes\mail 폴더로 이동 후 Mail.class.php를 에디터로 open 합니다.
1. Gmail 사용 시 아래 (140라인)를 찾아 다음과 같이 변경 해 줍니다.
기존 소스
function Mail() { }
변경 후
function Mail() { $this->useGmailAccount("Gmail ID", "Gmail PW"); }
여기서 중요한 것은 aaa@gmail.com 에서 @gmail.com을 적지 마시고 ID만 적으셔야 된다는 것입니다.
2. Google App을 이용한 개인 도메인 이용 시
아이디 비번은 그대로 적어주신 후 아래와 같이 164번째 줄을 변경하시면 됩니다.
저는 @gmail.com → @scmlab.com 으로 변경하였습니다.
function useGmailAccount($account_name, $account_passwd) { $this->SMTPAuth = TRUE; $this->SMTPSecure = "tls"; $this->Host = 'smtp.gmail.com'; $this->Port = '587'; if($this->isVaildMailAddress($account_name)) { $this->Username = $account_name; } else { $this->Username = $account_name . '@scmlab.com'; //요부분을 사용하는 도메인 명으로 변경 해주세요 } $this->Password = $account_passwd; $this->IsSMTP(); }
3. 기타, 네이버 등등을 이용할 경우
1번 아래에 아래와 같이 넣어 주시고,
function Mail() { $this->useNaverAccount("네이버 아이디", "네이버 비번"); }
2번의 문장이 끝나는 번호에 다 아래와 같이 추가를 해줍니다. (위의 문장을 추가하면 대략 172라인 입니다.)
function useNaverAccount($account_name, $account_passwd) { $this->SMTPAuth = TRUE; $this->SMTPSecure = "tls"; $this->Host = 'smtp.naver.com'; $this->Port = '587'; if($this->isVaildMailAddress($account_name)) { $this->Username = $account_name; } else { $this->Username = $account_name . '@naver.com; } $this->Password = $account_passwd; $this->IsSMTP(); }
4. 기타 팁
a. gmail 혹은 google app 등으로 인증 메일 발송 시 Language string failed to load: tls 와 같은 에러가 발생하는 경우가 있습니다.
이 경우 서버의 php.ini 에서 extension=php_openssl.dll 의 주석을 삭제 해주세요!!
b. 네이버는 sender가 불분명한 메일은 안 받아 들이 거나, 다른 메일들도 sender가 없으면 스팸처리 해버린다고 합니다. 따라서 가능하면 네이버는 지양 해주시길!!
5. 참고 : XE 공식 홈페이지\묻고답하기 및 Tip 게시판
- 네이버 SMTP로 인증메일 보내기 (http://www.xpressengine.com/tip/22285063)
- 회원가입시 G메일통해서 인증메일 발송시 에러(Language string failed to load: tls ) (http://www.xpressengine.com/qna/22772692)
** 팁과강좌란에 올릴려다가 이거 해결하느라 너무 고생(?)을 해서 여기다가 올립니다.!
댓글 2
-
네오랑
2014.07.22 07:32
-
네오랑
2019.03.07 09:52
최신 버전에는 모듈이 있어서 굳이 수정을 안하셔도 됩니다.~
고급 메일 발송 모듈을 이용하세요~!
https://www.xpressengine.com/index.php?mid=download&package_id=22753677
xe 홈페이지에 들어가보니 더 간단한 방법이 있어서 이렇게 공유합니다.~~
아래와 같이 설정을 하면 간단히 해결 된다고 합니다.~
./class/mail.class.php에서 function mail()로 검색하시고, 다음과 같이 함수를 변경하시면 됩니다.
순서대로 smtp 주소, 인증ID, 비밀번호, 프로토콜(SSL/TLS(STARTTLS)(소문자로 작성), 포트번호를 입력하시면 됩니다.
SMTP는 원하시는 곳을 사용하시면 됩니다. 네이버, 다음, 구글 등의 포탈 이메일을 이용하셔도 되며,
smtp 설정은 각 포탈에 문의하시면 답변을 얻으실 수 있습니다..