웹마스터 팁

게시판 설정에 보면은

관리자 메일이라고 있습니다

해당 글이 관리자에게 발송되는 기능이죠

그런데 이게 음.... 한번 설정해 두면 누가 받고 있는지 모르고....

그리고 특정한 사람한테도 또 받게 해두기 싫고 머 그런 생각에서

열심히 수정해서 나름 성공 시킨것을 공유 하려고 합니다

 

0. 관리자메일 부분에 아무 메일이나 하나 넣어 두세요

1. 등록할 확장변수 2개

 - 확장변수 이름이나 순서는 상관 없습니다 하지만 입력항목 이름은 꼬옥 아래와 같이 해주세요(소스 수정 하시면 변경 하셔도 됩니다)

 확장변수.png

 

2.  /modules/board/board.controller.php 수정

 

                // 문제가 없고 모듈 설정에 관리자 메일이 등록되어 있으면 메일 발송
                if($output->toBool() && $this->module_info->admin_mail) {

 

....................... 이부분에 소스를 넣어 시면 됩니다

 

                    $oMail->setSender($obj->user_name, $obj->email_address);

                    $target_mail = explode('+ '+ ',',$this->module_info->admin_mail);
                    for($i=0;$i<count($target_mail);$i++) {
                        $email_address = trim($target_mail[$i]);
                        if(!$email_address) continue;
                        $oMail->setReceiptor($email_address, $email_address);
                        $oMail->send();
                    }
                }
            }

 

3. 입력할 소스

 

                // 문제가 없고 모듈 설정에 관리자 메일이 등록되어 있으면 메일 발송
                if($output->toBool() && $this->module_info->admin_mail) {

                    $oMail = new Mail();
                    $oMail->setTitle($obj->title);

     //확장변수 이용 메일 발송 시작

     $extra_keys = $oDocumentModel->getExtraKeys($obj->module_srl);

     /**
     ** 확장변수를 이용한 선택적 메일발송
     ** 0. 관리자 메일 1건 이상의 메일 기재
     ** 1. 확장변수 이름이 <메일발송-수신> 인 항목을 발송함
     ** 2. 다중선택 방식으로 기재함(수신인을 선택하며 소스단에서 변경하여 메일 발송)
     **  - 다중선택시 문자열 구분을 < |@| > 하므로 < , > 변경함
     ** 3. 변경된 수신인을 $this->module_info->admin_mail 항목으로 변경(메일이 발송되게 됨!!)
     **/

      if(count($extra_keys)) {
       foreach($extra_keys as $idx => $extra_item) {
        if($extra_keys[$idx]->name == '메일발송-수신') $value1 = trim($obj->{'extra_vars'.$idx});
        if($extra_keys[$idx]->name == '메일발송-참조') $value2 = trim($obj->{'+ 'extra_vars'.$idx});
       }
      }

     /**
     ** 해당문자열을 < |@| > 을 < , > 변경
     **/

      $value1 = str_replace("|@|",",",$value1);
      $value2 = str_replace("|@|",",",$value2);

 

      $value_1 = str_replace("홍길동1","aaaa@aaa.net",$value1);
      $value_1 = str_replace("홍길동2","aaaa@aaa.net",$value_1);
     

      $value_2 = str_replace("홍길동1","aaaa@aaa.net",$value2);
      $value_2 = str_replace("홍길동2","aaaa@aaa.net",$value_2);
      

      $content_plus = "받는 사람 : ".$value1."<br />참조 : ".$value2."<br />--------------------------------------------------------------------------------------------------------------------<br />";

      $t_content = $obj->content;
      $obj->content = $content_plus;
      $obj->content .= $t_content;
    
      $this->module_info->admin_mail = $value_1.",".$value_2;

     //모든 게시판
     $oMail->setContent( sprintf("<a href=\"%s\"><a href=\"%s\"><img src='http://creamhouse.wo.tc/xe/files/go.gif'></a></a><br/>\r\n<div style='font-size: 12px; padding-left: 15px;'>%s</div>", getFullUrl('','document_srl',$obj->document_srl), getFullUrl('','document_srl',$obj->document_srl), $obj->content));

     //확장변수 이용 메일 발송 끝


                    $oMail->setSender($obj->user_name, $obj->email_address);

                    $target_mail = explode(',',$this->module_info->admin_mail);
                    for($i=0;$i<count($target_mail);$i++) {
                        $email_address = trim($target_mail[$i]);
                        if(!$email_address) continue;
      $oMail->setReceiptor($email_address, $email_address);
                        $oMail->send();
                    }
                }
            }

 

 

대략 이런겁니다 (설명이 안되어서 ㅡ.ㅢ;ㅣㅣ)

 

특정 확장변수를 체크해서 그 확장변수가 있으면

그 확장변수의 내용에 있는 이름들을 가져와서

미리 지정된 이름이랑 매칭해서 메일을 보내게 됩니다 ㅡㅡa

음 쉽게 설명 하려고 했는데 ㅡ.ㅡ;; 잘 됐나 모르겠네요...

그럼 (__)

 

전 이제 메일 쓰면 파일까지 자동으로 나타나게 하는거 연구 하려고 하는데

미리 구현 하신분 게시면 도움을

제목 글쓴이 날짜
모든 원하는 확장변수를 선택해서 최근게시물 위젯에 나타내기 간단팁 [12] jsuimage 2009.10.17
1.2.6 버전에서 메뉴추가 안되시는 분들 읽어보세요... [6] Crazyhouse.cn 2009.10.19
댓글 새창으로 보기 (경로수정) [1] file 고진감래 2009.10.20
댓글 삭제/수정/답글 시 팝업창으로 띄우기 [22] file 고진감래 2009.10.21
오늘 게시된 글은 날짜 대신 today 그림으로 대치 (왕초보용 초간단팁) file jsuimage 2009.10.21
Blog API ''not logged'' 오류 해결법 [2] file June Oh 2009.10.23
하나의 게시물을 각각 다르게 보이도록 만드는 방법 [5] 얼터1.0 2009.10.24
제로보드 XE가 갑자기 느려져서 확인해봤더니 [1] jy1664 2009.10.27
게시판 글작성 선택적 메일보내기 - 확장변수 이용 [2] file noirzo 2009.10.28
board.api.php 사용법 [1] file Hide_D 2009.10.29
1.2.6 업데이트 후 애드온 등 css가 적용 안되는 분들~ SeokiE 2009.10.29
카운터위젯 - 오늘 가입한 회원수 전체 회원수 출력 [5] 공수래 2009.11.01
프로필이미지, 이미지마크, 이미지이름 수정, 추가시 포인트 삭감 [1] lattente 2009.11.02
XE로 API 처리 완전 정복하기(1) [6] file 라르게덴 2009.11.02
XE로 API 처리 완전 정복하기(2) [2] file 라르게덴 2009.11.03
게시판 리스트에서 확장변수를 카테고리처럼 보여주기 [11] file 고진감래 2009.11.05
추천인/비추천인 표시하기 [7] file 고진감래 2009.11.05
1.3.0 버전에서 모듈설치 방법과 시작 모듈 설정하기 [21] file 스타호스트 2009.11.11
XE를 처음 접하거나 이제막 사이트개발을 하려는 초보자를 위한 XE 접근방법 [1] DuRi 2009.11.12
"제로보드 XE 기본 개념을 이해하자" 문서화 [3] file amd짱좋아 2009.11.13