웹마스터 팁
XE 코어의 메일전송을 우리알림 모듈로 대체하는 방법
2014.11.24 23:46
안녕하세요. GG 입니다.
이번에 우리알림 0.3.6 버전을 업데이트 하면서 새로 추가한 기능이 있습니다.
XE 코어 연동 옵션입니다.
이런 방식으로 옵션 처리하고 있습니다.
잘 이해하시는 분도 계시지만 그렇지 못하신 분들을 위해서 상세 설명을 드리자면,
우리알림은 이메일 전용 서버를 돌리고 있으며 이메일이 끊기지 않고 잘 전달되도록 세심한 서버 관리를 하고 있습니다.
가끔 XE 사용 유저분들중에는 이메일 승인 같은 아주 중요한 기능을 사용하시면서 서버 세팅등의 어려움으로 인해
이메일 전달에 어려움을 겪으시는 분들이 계시다고 알고 있습니다.
이런 분들을 위해 우리알림 모듈을 개선하여 연동 코드를 추가하게 되었습니다.
사용법은 다음과 같습니다.
0. 우리알림 v0.3.6 이상 버전을 설치합니다.
1. /xe/classes/mail/Mail.class.php 파일을 열어 봅니다.
2. 551 라인의 function send() 함수를 찾습니다.
3. 다음의 코드를 추가합니다.
/** * Send email * * @return bool TRUE in case of success, FALSE if sending fails */ function send() { // 우리알림 추가 시작 $oModuleModel = getModel('module'); $config = $oModuleModel->getModuleConfig('ggmailing'); // XE 코어 연동 사용 여부 체크 if($config->type_xe_send == 'Y') { // 제목, 내용, 전송 대상등을 입력 $obj->title = $this->title?$this->title:$this->Subject; $obj->content = $this->content; $obj->ggmailing_nickname = $this->receiptor_name; $obj->ggmailing_email = $this->receiptor_email; $obj->sender_email = $this->setReplyTo; $oMemberModel = getModel('member'); $ggmember_info = $oMemberModel->getMemberInfoByEmailAddress($obj->ggmailing_email); $obj->ggmailing_member_regdate = $ggmember_info->regdate?$ggmember_info->regdate:date('YmdHis'); $oGgmailingController = getController('ggmailing'); return $oGgmailingController->procGgmailingXeSend($obj); } // 우리알림 추가 끝 if($this->Mailer == "mail") {
우리알림에서 옵션 사용을 중지 하시면 기존 방식대로 웹서버에 설치된 sendmail/postfix 등의 프로그램으로
이메일이 잘 전송되게 됩니다.
코어 업데이트를 하시면 본 코드가 삭제 되므로 다시 한번 추가해 주셔야 합니다.
이점 주의하시기 바랍니다.
혹시 몰라서 수정된 Mail.class.php 파일을 첨부해 놓습니다.
감사합니다.
덧말,
간혹 위의 소스를 마우스로 긁어서 붙여 넣기 할때 서브라임텍스트 같은 에디터에서는 비정상적으로 붙여넣기 되는 현상이 있을 수 있습니다.
소스를 복사 후에 메모장이나 텍스트 편집기 등으로 먼저 붙여넣기 해보신 다음에 작업하시는 것도 하나의 방법이 될 수 있습니다.
참고 부탁드립니다.
댓글 30
-
가을풍경
2014.11.25 07:08
-
GG
2014.11.25 08:32
우리알림 모듈 버전이 034 이상인가요? -
가을풍경
2014.11.25 11:05
네 0.3.4 버전으로 하였습니다.
-
몽실아빠
2014.11.25 10:04
연동 설정 버튼을 클릭하니 아래와 같은 에러가 발생됩니다. 코어수정은 마쳤구요. (php : 5.5.9-1ubuntu4)
Fatal error: Cannot re-assign auto-global variable _FILES in public_html/xe/modules/ggmailing/ggmailing.admin.controller.php on line 398
-
가을풍경
2014.11.25 11:06
php 5.5 버전에서 이런 메세지가 나오는것 같던데
-
몽실아빠
2014.11.25 11:07
그러게요... 수정되었으면 좋겠네요.
-
몽실아빠
2014.11.25 10:35
398라인을
function UploadMmsImage($document_srl, $ggname, $afiles)
이렇게 수정했는데 맞게 한건가요 ??
-
GG
2014.11.25 11:26
헐, 업데이트 내역이 많아서 제가 실수를 했네요.
본문에 수정방법을 표기하고 얼른 버그 픽스 버전 035를 올리도록 하겠습니다.
-
GG
2014.11.25 11:38
잘 되시면 코멘트 부탁드립니다 ^^
-
몽실아빠
2014.11.25 11:58
패치된자료로 업로드하여 설정 저장은 잘 되네요. 근데 FTP 로 files 폴더 아래를 살펴보면 관련폴더들이 없는데 정상인건가요 ?
-
GG
2014.11.25 12:03
코드들을 잘 보시면 필요할때 생성하게 되어 있습니다.
해당 함수는 MMS 보낼때 사용되는 함수입니다.
따라서 MMS를 전송해 보지 않으셨다면 아마 폴더가 생성되어 있지는 않을 것 같습니다. :)
-
몽실아빠
2014.11.25 17:06
어.. 코어수정내용이 사라졌는데 변경이 생긴건가요 ? 0.3.6은 다운받아 패치 했습니다.
-
GG
2014.11.25 17:17
문제가 해결되어 삭제한 것입니당
-
몽실아빠
2014.11.25 17:24
코어수정을 안해도 된다는 말씀이신가요 ??? 수정할 코드가 없으니 연동을 하지 못할거 같아서요.
-
몽실아빠
2014.11.25 17:44
제 컴이 이상한건지 드래그 하니 코드들이 보이긴 하네요.
-
GG
2014.11.25 18:23
아하.
코드들은 잘 보입니다. -
가을풍경
2014.11.25 20:30
메일링 무료 v0.2.1 v0.3.6 버전 패치후에 XE 코어 연동을 하였으나 메일이 가지 않습니다. location : ko
package : XE host : http://4880.net/ app : Microsoft-IIS/8.5 xe_version : 1.7.7.2 php : 5.5.13
db_type : mysql_innodb 입니다. XE코어 연동 사용함에 체크 했는데 왜 메일이 안올까요?
-
몽실아빠
2014.11.25 20:42
저는 게시판 설정 관리자메일입력란에 메일주소를 입력하고 글작성을 하니 관리자 메일로 메일이 잘 오네요.
-
가을풍경
2014.11.25 20:54
/xe/classes/mail/Mail.class.php 에 GMAIL 설정 하셨나요? XE코어 연동 적용하기전에 GMAIL을 사용해서 보내고 있는데 ...이걸 설정을 안해야 되는가요?
-
몽실아빠
2014.11.25 20:59
그거 설정 빼셔야할거 같은데요....
-
가을풍경
2014.11.25 21:12
역시 기존의 메일설정을 주석처리하니 되네요 !! ㅎㅎㅎㅎ 잘됩니다.
-
내꿈은CEO
2014.12.12 16:22
수동 설치 하고 설치된 모듈 들어가서 우리알림 클릭만 하면 페이지가 500에러가 뜨면서 안나오네요....
무슨 조화 일까요...???
-
몽실아빠
2014.12.12 17:46
설치경로를 확인해 보세요~~~ 모듈명폴더가 이중으로 된건 아닌지요.
-
불금
2015.05.23 17:51
1.8.2 에서 해당 코드 적용하면 백지 현상 벌어집니다...
-
GG
2015.05.23 17:59
확인해 보겠습니다
-
GG
2015.05.23 18:35
1.8.2 에서 정상 작동되는것을 확인하였습니다. :)
-
불금
2015.05.23 19:08
알려주신대로 했더니 흰색으로 변하진 않지만 메일이 발송되진 않는거 같습니다.
요청을해도 모듈에서 포인트가 깎이지 않았고, 또한 메일도 받지 못했습니다. (네이버 , 지메일 둘다)
-
GG
2015.05.23 20:45
잘 되시나요~? :)
-
Enki
2019.05.11 14:47
고급 모듈은 어떻게 사용해야하나요??
-
GG
2019.06.25 18:08
xe 코어 연동했는데 메일이 안옵니다. xe 최신코어 이고 php 5.5 를 사용합니다.