RadarURL

조회 수 4905 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
WINDOWS 군에서 메일링 서비를 원할때.....

1. 먼저 SMTP를 설치 해야 합니다.
시작 -> 제어판 -> 프로그램 추가/제거 -> Windows 구성요소 추가/제거 -> 인터넷 정보 서비스(IIS)를 찾아 선택합니다.
-> 우측하단 쯤 [자세히] 버튼 클릭 -> SMTP Service 선택 -> 확인 (설치시 windows 설치 cd 가 있어야 합니다.)


2. SMTP 설정하기
시작 -> 제어판 -> 관리도구 -> 인터넷 관리 서비스 -> 기본 SMTP 가상서버 선택 후 마우스 오른쪽 버튼 -> 속성 선택
[일반]에서의 설정 : 할당되지 않은 주소 모두
[엑세스]에서의 설정 : 연결제어 -> 연결버큰 클릭 -> 허가됨 127.0.0.1
[엑세스]에서의 설정 : 릴레이제한 -> 릴레이 클릭 -> 허가됨 127.0.0.1
나머지 탭은 설정해도되고 안해도 되고....
설정이 모두 끝났으면 IIS서버 중지 후 다시 실행


3. windows디렉의 php.ini에서 smtp = 127.0.0.1으로 바꿉니다.


4. 제로보드에 있는 admin_sendmail_ok.php를 메모장등으로 엽니다.
모두 선택한 후 다음의 내용으로 덮어 씁니다.


<?

        include "lib.php";
        $connect=dbConn();

        $member=member_info();
        if(!$member[no]) Error("로그인후 사용하여주십시요",".javascriptwindow.close();");
        if($member[is_admin]>3) Error("관리자페이지를 사용할수 있는 권한이 없습니다",".javascriptwindow.close();");

        if(isblank($from)) Error("보내는 이의 mail을 적어주십시요",".javascriptwindow.close();");
        if(isblank($name)) Error("보내시는 분의 이름을 적어주십시요",".javascriptwindow.close();");
        if(isblank($subject)) Error("제목을 적어주십시요",".javascriptwindow.close();");
        if(isblank($comment)) Error("내용을 적어주십시요",".javascriptwindow.close();");

        $temp=mysql_fetch_array(mysql_query("select count(*) from $member_table where group_no='$group_no'",$connect));
        $total_member_num=$temp[0];

        if($cart) {
                $temp=explode("||",$cart);
                $s_que=" and ( no='$temp[1]' ";
                for($i=2;$i<count($temp);$i++)
                $s_que.=" or no='$temp[$i]' ";
                $s_que.=" )";
        } else {

        // 직접 선택이 없을때
                $s_que=stripslashes($s_que);
        }

        $temp=mysql_fetch_array(mysql_query("select count(*) from $member_table where group_no='$group_no' and mailing='1' $s_que",$connect));
        $total_member=$temp[0];

        if($total_member==0) Error("메일을 보낼 회원이 없습니다",".javascriptwindow.close();");
        $result=mysql_query("select email from $member_table where group_no='$group_no' and mailing=1 $s_que",$connect);

        mysql_close($connect);  

        $comment = stripslashes($comment);

        head( "onload=window.resizeTo(550,600); bgcolor=e0e0e0");
?>

<table border=0 cellpadding=2 cellspacing=1 width=100% bgcolor=e0e0e0 height=30>
<tr>
        <td align=center>
                <b><b><?=$total_member?></b> / (<?=$total_member_num?>) 명의 회원에게 메일링을 발송합니다.
        </td>
</tr>
</table>

<?
        $fault=0;
        $i=1;
        while($data=mysql_fetch_array($result)) {
                flush();
                echo".";

                if($data[email]) {
                        $temp=zb_sendmail($html, $data[email], $data[name], $from, $name, $subject, $comment);
                        if(!$temp) $fault++;
                }
                flush();
                if($i%100==0) {
                        echo"<br>";
                }
                $i++;
        }
        flush();
?>

<br><br>
<table border=0 cellspacing=0 cellpadding=2 width=100% bgcolor=e0e0e0>
<tr align=center>
<td height=30>
<br>

<?
        if($fault>0) echo $total_member." 명의 멤버중 $fault 명의 멤버에게 메일을 보내지 못하였습니다 ";
        else echo $total_member." 명의 멤버에게 메일을 보냈습니다 ";
?>

<br><br>
<input type=button value="Window Close" onclick=window.close() style=border-color:#b0b0b0;background-color:#3d3d3d;color:#ffffff;font-size:8pt;font-family:Tahoma;height:23px;><br><br>
</td></tr></table>

<?
        foot();
?>



5. 제로보드에 있는 lib.php를 메모장등으로 엽니다.

다음의 내용을 찾아 바꿉니다.

755번째 줄에서 시작하는

// 제로보드의 기본 설정 파일을 읽어오는 함수
        function getDefaultSetup() {
                global $_zb_path;
                $data = zReadFile($_zb_path."setup.php");
                $data = str_replace("<?/*","",$data);        
                $data = str_replace("*/?>","",$data);        
                $data = explode("\n",$data);
                $_c = count($data);
                unset($defaultSetup);
                for($i=0;$i<$_c;$i++) {
                        if(!ereg(";",$data[$i])&&strlen(trim($data[$i]))) {
                                $tmpStr = explode("=",$data[$i]);
                                $name = trim($tmpStr[0]);
                                $value = trim($tmpStr[1]);
                                $defaultSetup[$name]=$value;
                        }
                }
                if(!$defaultSetup[url]) $defaultSetup[url] = $HTTP_HOST;
                if(!$defaultSetup[sitename]) $defaultSetup[sitename] = $HTTP_HOST;
                if(!$defaultSetup[session_path]) $defaultSetup[session_path] = "data/__zbSessionTMP";
                if(!$defaultSetup[session_view_size]) $defaultSetup[session_view_size] = 512;
                if(!$defaultSetup[session_vote_size]) $defaultSetup[session_vote_size] = 256;
                if(!$defaultSetup[login_time]) $defaultSetup[login_time] = 60*30;
                if(!$defaultSetup[nowconnect_enable]) $defaultSetup[nowconnect_enable] = "true";
                if(!$defaultSetup[nowconnect_refresh_time]) $defaultSetup[nowconnect_refresh_time] = 60*3;
                if(!$defaultSetup[nowconnect_time]) $defaultSetup[nowconnect_tim] = 60*5;
                if(!$defaultSetup[enable_hangul_id]) $defaultSetup[enable_hangul_id] = "false";
                if(!$defaultSetup[check_email]) $defaultSetup[check_email] = "true";
                if(!$defaultSetup[memo_limit_time]) $defaultSetup[memo_limit_time] = 7;
                $defaultSetup[memo_limit_time] = 60 * 60 * 24 * $defaultSetup[memo_limit_time];
                
                return $defaultSetup;
        }

이 부분을 다음의 내용으로 바꿔 줍니다.

// 제로보드의 기본 설정 파일을 읽어오는 함수
        function getDefaultSetup() {
        global $_zb_path, $HTTP_HOST;
               $data = zReadFile($_zb_path."setup.php");
               $data = str_replace("<?/*","",$data);        
               $data = str_replace("*/?>","",$data);        
               $data = explode("\n",$data);
               $_c = count($data);
                unset($defaultSetup);
                for($i=0;$i<$_c;$i++) {
                        if(!ereg(";",$data[$i])&&strlen(trim($data[$i]))) {
                                $tmpStr = explode("=",$data[$i]);
                                $name = trim($tmpStr[0]);
                                $value = trim($tmpStr[1]);
                                $defaultSetup[$name]=$value;
                        }
                }
                if(!$defaultSetup[url]) $defaultSetup[url] = $HTTP_HOST;
                if(!$defaultSetup[sitename]) $defaultSetup[sitename] = $HTTP_HOST;
                if(!$defaultSetup[smtpaddress]) $defaultSetup[smtpaddress] = "127.0.0.1";
                if(!$defaultSetup[session_path]) $defaultSetup[session_path] = "data/__zbSessionTMP";
                if(!$defaultSetup[session_view_size]) $defaultSetup[session_view_size] = 512;
                if(!$defaultSetup[session_vote_size]) $defaultSetup[session_vote_size] = 256;
                if(!$defaultSetup[login_time]) $defaultSetup[login_time] = 60*30;
                if(!$defaultSetup[nowconnect_enable]) $defaultSetup[nowconnect_enable] = "true";
                if(!$defaultSetup[nowconnect_refresh_time]) $defaultSetup[nowconnect_refresh_time] = 60*3;
                if(!$defaultSetup[nowconnect_time]) $defaultSetup[nowconnect_tim] = 60*5;
                if(!$defaultSetup[enable_hangul_id]) $defaultSetup[enable_hangul_id] = "false";
                if(!$defaultSetup[check_email]) $defaultSetup[check_email] = "true";
                if(!$defaultSetup[memo_limit_time]) $defaultSetup[memo_limit_time] = 7;
                $defaultSetup[memo_limit_time] = 60 * 60 * 24 * $defaultSetup[memo_limit_time];
                
                return $defaultSetup;
        }


946번째 줄에서 시작하는
        
// 메일 보내는 함수
        function zb_sendmail($type, $to, $to_name, $from, $from_name, $subject, $comment, $cc="", $bcc="") {
                $recipient = "$to_name <$to>";

                if($type==1) $comment = nl2br($comment);

                $headers = "From: $from_name <$from>\n";
                $headers .= "X-Sender: <$from>\n";
                $headers .= "X-Mailer: PHP ".phpversion()."\n";
                $headers .= "X-Priority: 1\n";
                $headers .= "Return-Path: <$from>\n";

                if(!$type) $headers .= "Content-Type: text/plain; ";
                else $headers .= "Content-Type: text/html; ";
                $headers .= "charset=euc-kr\n";

                if($cc)  $headers .= "cc: $cc\n";
                if($bcc)  $headers .= "bcc: $bcc";

                $comment = stripslashes($comment);
                $comment = str_replace("\n\r","\n", $comment);

                return mail($recipient , $subject , $comment , $headers);

        }

이 부분을 다음의 내용으로 수정합니다.

        function zb_sendmail($type, $to, $to_name, $from, $from_name, $subject, $comment, $cc="", $bcc="") {

                global $HTTP_HOST, $_zbDefaultSetup;

                $sendmail_hostname=$_zbDefaultSetup[smtpaddress];

                $fp = fsockopen($sendmail_hostname, 25, &$errno, &$errstr, 30);

                if(!$fp) Error("Sendmail 연결시 에러가 발생했습니다. <Br><br>$errstr ($errno)");

                fgets($fp, 128);
                fputs($fp, "helo $_zbDefaultSetup[hostname]\r\n");
                fgets($fp, 128);

                fputs($fp, "mail from: <$from>\r\n");
                $retval[0] = fgets($fp, 128);
                
                fputs($fp, "rcpt to: <$to>\r\n");
                $retval[1] = fgets($fp, 128);

                fputs($fp, "data\r\n");
                fgets($fp, 128);
                
                //fputs($fp, "Return-Path: 자신의메일@어쩌구.net\r\n");
                
                fputs($fp, "From: $from_name <$from>\r\n");

                fputs($fp, "To: $to_name <$to>\r\n");
                fputs($fp, "Subject: $subject\r\n");
                
                if($type==2) $content= "Content-Type: text/html; ";
                elseif($tyep==1) {
                        $content.= "Content-Type: text/html; ";
                        $comment=nl2br($comment);
                } else $content.= "Content-Type: text/plain; ";

                fputs($fp, $content);
                fputs($fp, "charset=\"EUC-KR\"\r\n\n\n");
                
                fputs($fp, $comment);
                
                fputs($fp, "\r\n");
                
                fputs($fp, "\r\n.\r\n");
                
                $retval[2] = fgets($fp, 128);
                
                fclose($fp);
                
                if ( !ereg("^250", $retval[0]) || !ereg("^250", $retval[1]) || !ereg("^250", $retval[2]) ) return 0;
                else return 1;
        }


6. 메일링 테스트 실시합니다.

메일링 테스트를 할때는 hanmail을 제외한 다른 메일을 선택하여 실시하는 것이 좋습니다.

부디 성공하시길 바랍니다.

출처 : http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=메일&select_arrange=headnum&desc=asc&no=6762

ps : php는 수정 안해도 잘 되던데 난.. ^^
?

공부 게시판

공부에 도움되는 글을 올려주세요.

  1. [공지] 공부 게시판 입니다.

    Date2003.08.18 By처누 Views935959
    read more
  2. 대한민국 결정사 직업 등급표

    Date2026.01.09 Category연애 ByJaeSoo Views3
    Read More
  3. 알아두면 유용한 향수 향 종류 모음

    Date2026.01.09 Category생활 ByJaeSoo Views3
    Read More
  4. 로그인 구글 드라이브 안 쓰고 시놀로지 드라이브 쓰는 이유, 설정 방법 & 활용팁

    Date2026.01.08 Category업무 ByJaeSoo Views4
    Read More
  5. SMB 다중 채널 관리

    Date2026.01.08 Category네트워크 ByJaeSoo Views2
    Read More
  6. Synology NAS SMB 3.0 Multichannel 이용하기

    Date2026.01.08 Category네트워크 ByJaeSoo Views1
    Read More
  7. 어떻게 SSH를 통해 root 권한으로 DSM/SRM에 로그인할 수 있습니까?

    Date2026.01.08 Category네트워크 ByJaeSoo Views1
    Read More
  8. 시놀로지 나스 SMB 3.0 멀티채널 구성하는법

    Date2026.01.08 Category네트워크 ByJaeSoo Views2
    Read More
  9. RWA(Real-World Assets): 실물자산 토큰화 이해

    Date2026.01.05 Category경제 ByJaeSoo Views2
    Read More
  10. 그루밍성범죄와 가스라이팅 차이점, 처벌 수위 알아보기

    Date2025.12.23 Category생활 ByJaeSoo Views57
    Read More
  11. 전문의가 추천하는 자위 횟수

    Date2025.12.23 Category건강 ByJaeSoo Views64
    Read More
  12. 일상에 쉽게 적용할 수 있는 수면 관리 앱 5가지

    Date2025.12.18 Category모바일 ByJaeSoo Views103
    Read More
  13. 매일 밤에 머리 감으면 일어나는 일ㅣ탈모 전문가가 알려주는 충격적인 진실ㅣ김주용 원장 1편ㅣ닥터딩요

    Date2025.12.11 Category건강 ByJaeSoo Views98
    Read More
  14. 다친 손가락에 끼우는 실리콘 손가락

    Date2025.12.11 Category건강 ByJaeSoo Views97
    Read More
  15. 성적 취향에 대하여...

    Date2025.12.09 Category연애 ByJaeSoo Views211
    Read More
  16. fwb(Friends with Benefits)에 대해

    Date2025.12.09 Category연애 ByJaeSoo Views174
    Read More
  17. 자위가 잠자는 데 도움이됩니까? 알아봅시다!

    Date2025.12.09 Category건강 ByJaeSoo Views165
    Read More
  18. 야동 실태보고서

    Date2025.12.09 Category건강 ByJaeSoo Views160
    Read More
  19. 불면증 해결을 위한 자위 활용

    Date2025.12.09 Category건강 ByJaeSoo Views219
    Read More
  20. 변호사가 보아온 상간남들의 공통점

    Date2025.11.25 Category연애 ByJaeSoo Views263
    Read More
  21. 윈도우11 비밀번호 분실시 설정 변경방법 (Windows10 포함)

    Date2025.11.06 Category윈도우즈 ByJaeSoo Views328
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 127 Next
/ 127


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너