RadarURL

조회 수 7126 추천 수 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처누 Views2005237
    read more
  2. 대전, 인천, 세종 하수구 막힘 문제 해결 방법

    Date2026.10.05 Category공지 By정열적인코요테90 Views2
    Read More
  3. <문경맥주> 구입 할 수 있는 곳은 새 창 열림

    Date2026.10.05 Category취미 By타오르는드래곤61 Views1
    Read More
  4. 강남건전지❤️OlO-8655-OO53❤️친절문의환영 #강남건전지 #강남유니콘 #선릉유니콘 #강남건전지위치 #선릉역건전지#대치동유니콘 #강남바커스 #선릉바커스 #선릉역바커스 #강남룸클럽 #선릉룸클럽 #강남베터리 #강남바데리

    Date2026.10.05 Category데이터베이스 By괴랄한재규어89 Views1
    Read More
  5. 용인두피문신 고민? 만족 후기 보려면

    Date2026.10.05 Category사무 소프트웨어 By날카로운꿩11 Views1
    Read More
  6. 카­톡 gusim8003 급전/내구제 (24시문의) 폰테크 소액대출 선불폰 가개통

    Date2026.10.05 Category논문 By타오르는켄타우로스86 Views1
    Read More
  7. 웨딩누브라, 완벽한 드레스 핏을 위한 선택

    Date2026.10.05 Category윈도우즈 By날카로운감시자22 Views1
    Read More
  8. 성공적인 중고화물차 선택, 현명한 가이드

    Date2026.10.05 Category인터넷 By붉은드래곤50 Views2
    Read More
  9. 인천맛집 순위

    Date2026.10.05 Category가상화 By차가운파편97 Views2
    Read More
  10. 완벽한 웨딩드레스 핏의 비밀, 웨딩누브라

    Date2026.10.05 Category응용 프로그래밍 By힘겨운암석76 Views1
    Read More
  11. 파주누수업체, 신속 해결 전문가의 비결

    Date2026.10.05 Category카메라 By차가운에메랄드79 Views1
    Read More
  12. 올해의 핫플 선정 간석동 마블! 010&&8923&&0291

    Date2026.10.05 Categoryu-E(통합센터) By교활한감시자99 Views1
    Read More
  13. 손목터널증후군 치료, 현명한 선택 기준은?

    Date2026.10.05 Category웹서버,WAS By괴상한두루미52 Views1
    Read More
  14. 손목터널증후군, 두팔로정형외과에서 해답을 찾다

    Date2026.10.05 Categoryu-E(통합센터) By눈부신백마법사86 Views1
    Read More
  15. 골든타워 010 2817 0845 골타문의 편하게 알아보는 셔츠룸

    Date2026.10.05 Category응용 프로그래밍 By속삭이는미노타우르93 Views2
    Read More
  16. 특별한 기념품제작, 판촉물365

    Date2026.10.05 Categoryu-E(TestBed) By광기의태풍18 Views1
    Read More
  17. 대전누수 문제, 청년연합누수가 답이다

    Date2026.10.05 Category건강 By몽환적인삵34 Views2
    Read More
  18. 양산싱크대막힘, 뚫자하수구에서 한 번에 해결

    Date2026.10.05 Categoryu-E(법,정책) By낙관적인유니콘42 Views1
    Read More
  19. 최근 테헤란로 벤처 밸리의 핵심 리더들 사이에서 ‘클래스가 다른 정통 수질과 프라이빗 무드’로 소문 자자한 '선릉 룸싸롱' 기습 방문, 인공미를 거부하는 무결점 뉴페이스들과 심장을 마비시킨 사심 플러팅에 제대로 저격당하고 온 솔직 후기

    Date2026.10.05 Category가상화 By희미한홍학99 Views4
    Read More
  20. 카­톡 gusim8003 급전/내구제 (24시문의) 선불폰 소액결제 일수 급전대출

    Date2026.10.05 Category웹서버,WAS By황금빛섬광82 Views2
    Read More
  21. 해외선물 메타5 거래소와 GFS컴퍼니의 장점과 고려사항

    Date2026.10.05 Category웹광고 By울리는이구아나69 Views2
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 131 Next
/ 131


즐겨찾기 (가족)

JAESOO's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

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

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

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

JServer.kr

제이서버 메타블로그

재수 티스토리


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

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너