From 5a74ca5fbaaac7982c1eff27db6f74abcd371705 Mon Sep 17 00:00:00 2001 From: gnuboard Date: Thu, 8 Aug 2013 11:38:26 +0900 Subject: [PATCH 1/4] =?UTF-8?q?jsboard=20=EC=9D=98=20maildaemon=20?= =?UTF-8?q?=EB=B0=8F=20=EA=B4=80=EB=A0=A8=20=ED=95=A8=EC=88=98=EB=A5=BC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=ED=96=88=EC=8A=B5=EB=8B=88=EB=8B=A4.=20?= =?UTF-8?q?=ED=95=9C=EB=A9=94=EC=9D=BC=EB=A1=9C=20=EB=A9=94=EC=9D=BC?= =?UTF-8?q?=EC=9D=B4=20=EB=B0=9C=EC=86=A1=EB=90=98=EC=A7=80=20=EC=95=8A?= =?UTF-8?q?=EB=8D=98=20=EC=98=A4=EB=A5=98=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/mailer.lib.php | 276 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 234 insertions(+), 42 deletions(-) diff --git a/lib/mailer.lib.php b/lib/mailer.lib.php index f6ee4e35b..6defb738c 100644 --- a/lib/mailer.lib.php +++ b/lib/mailer.lib.php @@ -3,57 +3,78 @@ if (!defined('_GNUBOARD_')) exit; // 메일 보내기 (파일 여러개 첨부 가능) // type : text=0, html=1, text+html=2 -function mailer($fname, $fmail, $to, $subject, $content, $type=0, $file='', $cc='', $bcc='') -{ - global $config; - global $g4; +function mailer($fname, $fmail, $to, $subject, $content, $type=0, $file="", $cc="", $bcc="") +{ + global $config; + global $g4; - // 메일발송 사용을 하지 않는다면 - if (!$config['cf_email_use']) return; + // 메일발송 사용을 하지 않는다면 + if (!$config['cf_email_use']) return; - $fname = "=?utf-8?B?" . base64_encode($fname) . "?="; - $subject = "=?utf-8?B?" . base64_encode($subject) . "?="; + $boundary = uniqid(time()); - $header = "Return-Path: <$fmail>\n"; - $header .= "From: $fname <$fmail>\n"; - $header .= "Reply-To: <$fmail>\n"; - if ($cc) $header .= "Cc: $cc\n"; - if ($bcc) $header .= "Bcc: $bcc\n"; - $header .= "MIME-Version: 1.0\n"; - $header .= "X-Mailer: {$_SERVER['SERVER_ADDR']} : {$_SERVER['REMOTE_ADDR']} : ".G4_URL." : {$_SERVER['PHP_SELF']} : {$_SERVER['HTTP_REFERER']} \n"; + $header = "Message-ID: <".generate_mail_id(preg_replace("/@.+$/i","",$to)).">\r\n". + "From:=?utf-8?B?".base64_encode($fname)."?=<$fmail>\r\n"; + if ($cc) $header .= "Cc: $cc\n"; + if ($bcc) $header .= "Bcc: $bcc\n"; + $header .= "MIME-Version: 1.0\n"; + $header .= "X-Mailer: SIR Mailer 0.94 : {$_SERVER['SERVER_ADDR']} : {$_SERVER['REMOTE_ADDR']} : ".G4_URL." : {$_SERVER['PHP_SELF']} : {$_SERVER['HTTP_REFERER']} \n"; + $header .= "Date: ".date ("D, j M Y H:i:s T",time())."\r\n". + "To: $to\r\n". + "Subject: =?utf-8?B?".base64_encode($subject)."?=\r\n"; - if ($file != '') { - $boundary = uniqid('http://sir.co.kr/'); - - $header .= "Content-type: MULTIPART/MIXED; BOUNDARY=\"$boundary\"\n\n"; - $header .= "--$boundary\n"; - } - - if ($type) { - $header .= "Content-Type: TEXT/HTML; charset=utf-8\n"; - if ($type == 2) - $content = nl2br($content); + if ($file == "") { + $header .= "Content-Type: MULTIPART/ALTERNATIVE;\n". + " BOUNDARY=\"$boundary\"\n\n"; } else { - $header .= "Content-Type: TEXT/PLAIN; charset=utf-8\n"; - $content = stripslashes($content); + $header .= "Content-Type: MULTIPART/MIXED;\n". + " BOUNDARY=\"$boundary\"\n\n"; } - $header .= "Content-Transfer-Encoding: BASE64\n\n"; - $header .= chunk_split(base64_encode($content)) . "\n"; - if ($file != '') { - foreach ($file as $f) { - $header .= "\n--$boundary\n"; - $header .= "Content-Type: APPLICATION/OCTET-STREAM; name=\"{$f['name']}\"\n"; - $header .= "Content-Transfer-Encoding: BASE64\n"; - $header .= "Content-Disposition: inline; filename=\"{$f['name']}\"\n"; + if ($type == 2) + $content = nl2br($content); - $header .= "\n"; - $header .= chunk_split(base64_encode($f['data'])); - $header .= "\n"; - } - $header .= "--$boundary--\n"; + $strip_content = stripslashes(trim($content)); + $encode_content = chunk_split(base64_encode($strip_content)); + + $body = ""; + $body .= "\n--$boundary\n"; + $body .= "Content-Type: TEXT/PLAIN; charset=utf-8\n"; + $body .= "Content-Transfer-Encoding: BASE64\n\n"; + $body .= $encode_content; + $body .= "\n--$boundary\n"; + + if ($type) { + $body .= "Content-Type: TEXT/HTML; charset=utf-8\n"; + $body .= "Content-Transfer-Encoding: BASE64\n\n"; + $body .= $encode_content; + $body .= "\n--$boundary\n"; + } + + if ($file != "") { + foreach ($file as $f) { + $body .= "n--$boundary\n"; + $body .= "Content-Type: APPLICATION/OCTET-STREAM; name=$fname\n"; + $body .= "Content-Transfer-Encoding: BASE64\n"; + $body .= "Content-Disposition: inline; filename=$fname\n"; + + $body .= "\n"; + $body .= chunk_split(base64_encode($f['data'])); + $body .= "\n"; + } + $body .= "--$boundary--\n"; + } + + $mails['to'] = $to; + $mails['from'] = $fmail; + $mails['text'] = $header.$body; + + if (defined(G4_SMTP)) { + ini_set('SMTP', G4_SMTP); + @mail($to, $subject, $body, $header, "-f $fmail"); + } else { + new maildaemon($mails); } - @mail($to, $subject, "", $header); } // 파일 첨부시 @@ -167,4 +188,175 @@ function verify_email($address, &$error) $error = '메일 교환기에 도달하지 못하였습니다.'; return false; } + + +# jsboard 의 메일보내기 class를 추가합니다. 130808 + +# mail 보내기 함수 2001.11.30 김정균 +# $Id: include/sendmail.php,v 1.4 2009/11/19 05:29:51 oops Exp $ + +# 서버상의 smtp daemon 에 의존하지 않고 직접 발송하는 smtp class +# +# 특정 배열로 class 에 전달을 하여 메일을 발송한다. 배열은 아래을 참조한다. +# +# debug -> debug 를 할지 안할지를 결정한다. +# ofhtml -> 웹상에서 사용할지 쉘상에서 사용할지를 결정한다. +# from -> 메일을 발송하는 사람의 메일주소 +# to -> 메일을 받을 사람의 메일 주소 +# text -> 헤더 내용을 포함한 메일 본문 +# +class maildaemon { + var $failed = 0; + + function __construct($v) { + $this->debug = $v['debug']; + $this->ofhtml = $v['ofhtml']; + if($_SERVER['SERVER_NAME']) $this->helo = $_SERVER['SERVER_NAME']; + if(!$this->helo || preg_match("/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/i",$this->helo)) + $this->helo = "JSBoardMessage"; + + $this->from = $v['from']; + $this->to = $v['to']; + $this->body = $v['text']."\r\n."; + + //die($v['text']); + $this->newline = $this->ofhtml ? "
\n" : "\n"; + + $this->mx = $this->getMX($this->to); + + if($this->debug) { + echo "DEBUG: ".$this->mx." start".$this->newline; + echo "################################################################".$this->newline; + } + $this->sockets("open"); + $this->send("HELO ".$this->helo); + $this->send("MAIL FROM: <".$this->from.">"); + $this->send("RCPT TO: <".$this->to.">"); + $this->send("data"); + $this->send($this->body); + $this->send("quit"); + $this->sockets("close"); + } + + function getMX($email) { + $dev = explode("@",$email); + $account = $dev[0]; + $host = $dev[1]; + + if(checkdnsrr($host,"MX") && getmxrr($host,$mx,$weight)) { + $idx = 0; + for($i=0;$i $weight[$i]) { + $dest = $weight[$i]; + $idx = $i; + } + } + } else return $host; + return $mx[$idx]; + } + + # 디버그 함수 + # $t -> 1 (debug of socket open,close) + # 0 (regular smtp message) + # $p -> 1 (print detail debug) + # + # return 1 -> success + # return 0 -> failed + # + function debug($str,$t=0,$p=0) { + if($t) { + if(!$str) $this->failed = 1; + if($this->sock) $returnmsg = trim(fgets($this->sock,1024)); + } else { + if(!preg_match("/^(220|221|250|251|354)$/",substr(trim($str),0,3))) + $this->failed = 1; + } + + # DEBUG mode -> 모든 메세지 출력 + if($p) { + if($t) { + $str = "Conncet ".$this->mx; + $str .= $this->failed ? " Failed" : " Success"; + $str .= $this->newline."DEBUG: $returnmsg"; + } + echo "DEBUG: $str".$this->newline; + } + + # DEBUG 모드가 아닐때, 에러 메세지 출력 + if(!$p && $this->failed) { + if($this->ofhtml) echo "\n"; + else "ERROR: $str\n"; + } + } + + function sockets($option=0) { + switch($option) { + case "open" : + $this->sock = @fsockopen($this->mx,25,$this->errno,$this->errstr,30); + $this->debug($this->sock,1,$this->debug); + break; + default : + if($this->sock) fclose($this->sock); + break; + } + } + + function send($str,$chk=0) { + if(!$this->failed) { + if($this->debug) { + if(preg_match("/\r\n/",trim($str))) + $str_debug = trim(str_replace("\r\n","\r\n ",$str)); + else $str_debug = $str; + } + fputs($this->sock,"$str\r\n"); + $recv = trim(fgets($this->sock,1024)); + $recvchk = $recv; + $this->debug($recv,0,$this->debug); + + if(preg_match("/Mail From:/i",$str) && preg_match("/exist|require|error/i",$recvchk) && !$chk) { + $this->failed = 0; + $this->send("MAIL FROM: <".$this->to.">",1); + } + } + } +} + + +function generate_mail_id($uid) { + $id = date("YmdHis",time()); + mt_srand((float) microtime() * 1000000); + $randval = mt_rand(); + $id .= $randval."@$uid"; + return $id; +} + + +function mail_header($to,$from,$title,$mta=0) { + global $langs,$boundary; + + # mail header 를 작성 + $boundary = get_boundary_msg(); + $header = "Message-ID: <".generate_mail_id(preg_replace("/@.+$/i","",$to)).">\r\n". + "From:=?utf-8?B?".base64_encode('보내는사람')."?=<$from>\r\n". + "MIME-Version: 1.0\r\n"; + + if(!$mta) $header .= "Date: ".date ("D, j M Y H:i:s T",time())."\r\n". + "To: $to\r\n". + "Subject: $title\r\n"; + + $header .= "Content-Type: multipart/alternative;\r\n". + " boundary=\"$boundary\"\r\n\r\n"; + + return $header; +} + + +function get_boundary_msg() { + $uniqchr = uniqid(""); + $one = strtoupper($uniqchr[0]); + $two = strtoupper(substr($uniqchr,0,8)); + $three = strtoupper(substr(strrev($uniqchr),0,8)); + return "----=_NextPart_000_000${one}_${two}.${three}"; +} ?> \ No newline at end of file From 6a88e2078742e21e40892f5a826fcfe001ebb2fe Mon Sep 17 00:00:00 2001 From: gnuboard Date: Thu, 8 Aug 2013 11:39:07 +0900 Subject: [PATCH 2/4] =?UTF-8?q?G4=5FSMTP=20=EC=83=81=EC=88=98=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20lib/mailer.lib.php=20=EC=97=90=EC=84=9C=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config.php b/config.php index a55c219b6..692b9876d 100644 --- a/config.php +++ b/config.php @@ -135,6 +135,11 @@ define('G4_FILE_PERMISSION', 0644); // 파일 생성시 퍼미션 // 모바일 인지 결정 $_SERVER['HTTP_USER_AGENT'] define('G4_MOBILE_AGENT', 'phone|samsung|lgtel|mobile|skt|nokia|blackberry|android|sony'); +// SMTP +// lib/mailer.lib.php 에서 사용 +define('G4_SMTP', '127.0.0.1'); + + /******************** 기타 상수 ********************/ From 1324a7f2e011044c1f6864d4fe2bd38dc662917e Mon Sep 17 00:00:00 2001 From: gnuboard Date: Thu, 8 Aug 2013 11:39:47 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=EB=A9=94=EC=9D=BC=EC=9D=B8=EC=A6=9D?= =?UTF-8?q?=EA=B4=80=EB=A0=A8=20=EC=95=88=EB=82=B4=EB=A9=94=EC=84=B8?= =?UTF-8?q?=EC=A7=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bbs/login_check.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bbs/login_check.php b/bbs/login_check.php index 9f5378e2b..70339f262 100644 --- a/bbs/login_check.php +++ b/bbs/login_check.php @@ -31,7 +31,7 @@ if ($mb['mb_leave_date'] && $mb['mb_leave_date'] <= date("Ymd", G4_SERVER_TIME)) } if ($config['cf_use_email_certify'] && !preg_match("/[1-9]/", $mb['mb_email_certify'])) { - confirm("{$mb['mb_email']} 메일로 메일인증을 받으셔야 로그인 가능합니다. 다른 메일주소로 인증하시려면 취소를 클릭하시기 바랍니다.", G4_URL, G4_BBS_URL.'/register_email.php?mb_id='.$mb_id); + confirm("{$mb['mb_email']} 메일로 메일인증을 받으셔야 로그인 가능합니다. 다른 메일주소로 변경하여 인증하시려면 취소를 클릭하시기 바랍니다.", G4_URL, G4_BBS_URL.'/register_email.php?mb_id='.$mb_id); } @include_once($member_skin_path.'/login_check.skin.php'); From 8a297052075228c5b796e20ab24254d925853c1a Mon Sep 17 00:00:00 2001 From: gnuboard Date: Thu, 8 Aug 2013 11:44:40 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20=EB=A9=94?= =?UTF-8?q?=EC=9D=BC=EC=A3=BC=EC=86=8C=20=EC=B6=94=EA=B0=80,=20=ED=9A=8C?= =?UTF-8?q?=EC=9B=90=EA=B0=80=EC=9E=85=EC=8B=9C=EB=82=98=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EB=A9=94=EC=9D=BC=20=EB=B0=9C=EC=86=A1?= =?UTF-8?q?=EC=8B=9C=EC=97=90=20=EB=B3=B4=EB=82=B4=EA=B1=B0=EB=82=98=20?= =?UTF-8?q?=EB=B0=9B=EB=8A=94=20=EC=9A=A9=EB=8F=84=EB=A1=9C=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=EB=90=A9=EB=8B=88=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- adm/config_form.php | 18 ++- adm/config_form_update.php | 229 +++++++++++++++++----------------- adm/mail_select_list.php | 2 - adm/mail_select_update.php | 14 +-- adm/sendmail_test.php | 15 +-- bbs/register_email_update.php | 8 +- bbs/register_form_update.php | 10 +- install/gnuboard4s.sql | 1 + 8 files changed, 150 insertions(+), 147 deletions(-) diff --git a/adm/config_form.php b/adm/config_form.php index a1f041388..3c2322602 100644 --- a/adm/config_form.php +++ b/adm/config_form.php @@ -101,6 +101,11 @@ if(!sql_query(" DESC {$g4['autosave_table']} ", false)) { ) ", false); } +if(!isset($config['cf_admin_email'])) { + sql_query(" ALTER TABLE `{$g4['config_table']}` + ADD `cf_admin_email` VARCHAR(255) NOT NULL AFTER `cf_admin` ", true); +} + $g4['title'] = '환경설정'; include_once ('./admin.head.php'); @@ -136,9 +141,18 @@ $pg_anchor = '
    - + + + - + + + + + + + + diff --git a/adm/config_form_update.php b/adm/config_form_update.php index 32d87738d..5d01a2797 100644 --- a/adm/config_form_update.php +++ b/adm/config_form_update.php @@ -17,120 +17,121 @@ check_token(); $sql = " update {$g4['config_table']} set cf_title = '{$_POST['cf_title']}', - cf_admin = '{$_POST['cf_admin']}', - cf_include_index = '{$_POST['cf_include_index']}', - cf_include_head = '{$_POST['cf_include_head']}', - cf_include_tail = '{$_POST['cf_include_tail']}', - cf_add_script = '{$_POST['cf_add_script']}', - cf_use_point = '{$_POST['cf_use_point']}', - cf_point_term = '{$_POST['cf_point_term']}', - cf_use_norobot = '{$_POST['cf_use_norobot']}', - cf_use_copy_log = '{$_POST['cf_use_copy_log']}', - cf_use_email_certify = '{$_POST['cf_use_email_certify']}', - cf_login_point = '{$_POST['cf_login_point']}', - cf_cut_name = '{$_POST['cf_cut_name']}', - cf_nick_modify = '{$_POST['cf_nick_modify']}', - cf_new_skin = '{$_POST['cf_new_skin']}', - cf_new_rows = '{$_POST['cf_new_rows']}', - cf_search_skin = '{$_POST['cf_search_skin']}', - cf_connect_skin = '{$_POST['cf_connect_skin']}', - cf_read_point = '{$_POST['cf_read_point']}', - cf_write_point = '{$_POST['cf_write_point']}', - cf_comment_point = '{$_POST['cf_comment_point']}', - cf_download_point = '{$_POST['cf_download_point']}', - cf_search_bgcolor = '{$_POST['cf_search_bgcolor']}', - cf_search_color = '{$_POST['cf_search_color']}', - cf_write_pages = '{$_POST['cf_write_pages']}', - cf_mobile_pages = '{$_POST['cf_mobile_pages']}', - cf_link_target = '{$_POST['cf_link_target']}', - cf_delay_sec = '{$_POST['cf_delay_sec']}', - cf_filter = '{$_POST['cf_filter']}', - cf_possible_ip = '".trim($_POST['cf_possible_ip'])."', - cf_intercept_ip = '".trim($_POST['cf_intercept_ip'])."', - cf_member_skin = '{$_POST['cf_member_skin']}', - cf_use_homepage = '{$_POST['cf_use_homepage']}', - cf_req_homepage = '{$_POST['cf_req_homepage']}', - cf_use_tel = '{$_POST['cf_use_tel']}', - cf_req_tel = '{$_POST['cf_req_tel']}', - cf_use_hp = '{$_POST['cf_use_hp']}', - cf_req_hp = '{$_POST['cf_req_hp']}', - cf_use_addr = '{$_POST['cf_use_addr']}', - cf_req_addr = '{$_POST['cf_req_addr']}', - cf_use_signature = '{$_POST['cf_use_signature']}', - cf_req_signature = '{$_POST['cf_req_signature']}', - cf_use_profile = '{$_POST['cf_use_profile']}', - cf_req_profile = '{$_POST['cf_req_profile']}', - cf_register_level = '{$_POST['cf_register_level']}', - cf_register_point = '{$_POST['cf_register_point']}', - cf_icon_level = '{$_POST['cf_icon_level']}', - cf_use_recommend = '{$_POST['cf_use_recommend']}', - cf_recommend_point = '{$_POST['cf_recommend_point']}', - cf_leave_day = '{$_POST['cf_leave_day']}', - cf_search_part = '{$_POST['cf_search_part']}', - cf_email_use = '{$_POST['cf_email_use']}', - cf_email_wr_super_admin = '{$_POST['cf_email_wr_super_admin']}', - cf_email_wr_group_admin = '{$_POST['cf_email_wr_group_admin']}', - cf_email_wr_board_admin = '{$_POST['cf_email_wr_board_admin']}', - cf_email_wr_write = '{$_POST['cf_email_wr_write']}', - cf_email_wr_comment_all = '{$_POST['cf_email_wr_comment_all']}', - cf_email_mb_super_admin = '{$_POST['cf_email_mb_super_admin']}', - cf_email_mb_member = '{$_POST['cf_email_mb_member']}', - cf_email_po_super_admin = '{$_POST['cf_email_po_super_admin']}', - cf_prohibit_id = '{$_POST['cf_prohibit_id']}', - cf_prohibit_email = '{$_POST['cf_prohibit_email']}', - cf_new_del = '{$_POST['cf_new_del']}', - cf_memo_del = '{$_POST['cf_memo_del']}', - cf_visit_del = '{$_POST['cf_visit_del']}', - cf_popular_del = '{$_POST['cf_popular_del']}', - cf_use_jumin = '{$_POST['cf_use_jumin']}', - cf_use_member_icon = '{$_POST['cf_use_member_icon']}', - cf_member_icon_size = '{$_POST['cf_member_icon_size']}', - cf_member_icon_width = '{$_POST['cf_member_icon_width']}', - cf_member_icon_height = '{$_POST['cf_member_icon_height']}', - cf_login_minutes = '{$_POST['cf_login_minutes']}', - cf_image_extension = '{$_POST['cf_image_extension']}', - cf_flash_extension = '{$_POST['cf_flash_extension']}', - cf_movie_extension = '{$_POST['cf_movie_extension']}', - cf_formmail_is_member = '{$_POST['cf_formmail_is_member']}', - cf_page_rows = '{$_POST['cf_page_rows']}', - cf_stipulation = '{$_POST['cf_stipulation']}', - cf_privacy = '{$_POST['cf_privacy']}', - cf_open_modify = '{$_POST['cf_open_modify']}', - cf_memo_send_point = '{$_POST['cf_memo_send_point']}', - cf_mobile_new_skin = '{$_POST['cf_mobile_new_skin']}', - cf_mobile_search_skin = '{$_POST['cf_mobile_search_skin']}', - cf_mobile_connect_skin = '{$_POST['cf_mobile_connect_skin']}', - cf_mobile_member_skin = '{$_POST['cf_mobile_member_skin']}', - cf_gcaptcha_mp3 = '{$_POST['cf_gcaptcha_mp3']}', - cf_editor = '{$_POST['cf_editor']}', - cf_googl_shorturl_apikey = '{$_POST['cf_googl_shorturl_apikey']}', - cf_kcpcert_site_cd = '{$_POST['cf_kcpcert_site_cd']}', - cf_kcpcert_use = '{$_POST['cf_kcpcert_use']}', - cf_facebook_appid = '{$_POST['cf_facebook_appid']}', - cf_facebook_secret = '{$_POST['cf_facebook_secret']}', - cf_twitter_key = '{$_POST['cf_twitter_key']}', - cf_twitter_secret = '{$_POST['cf_twitter_secret']}', - cf_me2day_key = '{$_POST['cf_me2day_key']}', - cf_1_subj = '{$_POST['cf_1_subj']}', - cf_2_subj = '{$_POST['cf_2_subj']}', - cf_3_subj = '{$_POST['cf_3_subj']}', - cf_4_subj = '{$_POST['cf_4_subj']}', - cf_5_subj = '{$_POST['cf_5_subj']}', - cf_6_subj = '{$_POST['cf_6_subj']}', - cf_7_subj = '{$_POST['cf_7_subj']}', - cf_8_subj = '{$_POST['cf_8_subj']}', - cf_9_subj = '{$_POST['cf_9_subj']}', - cf_10_subj = '{$_POST['cf_10_subj']}', - cf_1 = '{$_POST['cf_1']}', - cf_2 = '{$_POST['cf_2']}', - cf_3 = '{$_POST['cf_3']}', - cf_4 = '{$_POST['cf_4']}', - cf_5 = '{$_POST['cf_5']}', - cf_6 = '{$_POST['cf_6']}', - cf_7 = '{$_POST['cf_7']}', - cf_8 = '{$_POST['cf_8']}', - cf_9 = '{$_POST['cf_9']}', - cf_10 = '{$_POST['cf_10']}' "; + cf_admin = '{$_POST['cf_admin']}', + cf_admin_email = '{$_POST['cf_admin_email']}', + cf_include_index = '{$_POST['cf_include_index']}', + cf_include_head = '{$_POST['cf_include_head']}', + cf_include_tail = '{$_POST['cf_include_tail']}', + cf_add_script = '{$_POST['cf_add_script']}', + cf_use_point = '{$_POST['cf_use_point']}', + cf_point_term = '{$_POST['cf_point_term']}', + cf_use_norobot = '{$_POST['cf_use_norobot']}', + cf_use_copy_log = '{$_POST['cf_use_copy_log']}', + cf_use_email_certify = '{$_POST['cf_use_email_certify']}', + cf_login_point = '{$_POST['cf_login_point']}', + cf_cut_name = '{$_POST['cf_cut_name']}', + cf_nick_modify = '{$_POST['cf_nick_modify']}', + cf_new_skin = '{$_POST['cf_new_skin']}', + cf_new_rows = '{$_POST['cf_new_rows']}', + cf_search_skin = '{$_POST['cf_search_skin']}', + cf_connect_skin = '{$_POST['cf_connect_skin']}', + cf_read_point = '{$_POST['cf_read_point']}', + cf_write_point = '{$_POST['cf_write_point']}', + cf_comment_point = '{$_POST['cf_comment_point']}', + cf_download_point = '{$_POST['cf_download_point']}', + cf_search_bgcolor = '{$_POST['cf_search_bgcolor']}', + cf_search_color = '{$_POST['cf_search_color']}', + cf_write_pages = '{$_POST['cf_write_pages']}', + cf_mobile_pages = '{$_POST['cf_mobile_pages']}', + cf_link_target = '{$_POST['cf_link_target']}', + cf_delay_sec = '{$_POST['cf_delay_sec']}', + cf_filter = '{$_POST['cf_filter']}', + cf_possible_ip = '".trim($_POST['cf_possible_ip'])."', + cf_intercept_ip = '".trim($_POST['cf_intercept_ip'])."', + cf_member_skin = '{$_POST['cf_member_skin']}', + cf_use_homepage = '{$_POST['cf_use_homepage']}', + cf_req_homepage = '{$_POST['cf_req_homepage']}', + cf_use_tel = '{$_POST['cf_use_tel']}', + cf_req_tel = '{$_POST['cf_req_tel']}', + cf_use_hp = '{$_POST['cf_use_hp']}', + cf_req_hp = '{$_POST['cf_req_hp']}', + cf_use_addr = '{$_POST['cf_use_addr']}', + cf_req_addr = '{$_POST['cf_req_addr']}', + cf_use_signature = '{$_POST['cf_use_signature']}', + cf_req_signature = '{$_POST['cf_req_signature']}', + cf_use_profile = '{$_POST['cf_use_profile']}', + cf_req_profile = '{$_POST['cf_req_profile']}', + cf_register_level = '{$_POST['cf_register_level']}', + cf_register_point = '{$_POST['cf_register_point']}', + cf_icon_level = '{$_POST['cf_icon_level']}', + cf_use_recommend = '{$_POST['cf_use_recommend']}', + cf_recommend_point = '{$_POST['cf_recommend_point']}', + cf_leave_day = '{$_POST['cf_leave_day']}', + cf_search_part = '{$_POST['cf_search_part']}', + cf_email_use = '{$_POST['cf_email_use']}', + cf_email_wr_super_admin = '{$_POST['cf_email_wr_super_admin']}', + cf_email_wr_group_admin = '{$_POST['cf_email_wr_group_admin']}', + cf_email_wr_board_admin = '{$_POST['cf_email_wr_board_admin']}', + cf_email_wr_write = '{$_POST['cf_email_wr_write']}', + cf_email_wr_comment_all = '{$_POST['cf_email_wr_comment_all']}', + cf_email_mb_super_admin = '{$_POST['cf_email_mb_super_admin']}', + cf_email_mb_member = '{$_POST['cf_email_mb_member']}', + cf_email_po_super_admin = '{$_POST['cf_email_po_super_admin']}', + cf_prohibit_id = '{$_POST['cf_prohibit_id']}', + cf_prohibit_email = '{$_POST['cf_prohibit_email']}', + cf_new_del = '{$_POST['cf_new_del']}', + cf_memo_del = '{$_POST['cf_memo_del']}', + cf_visit_del = '{$_POST['cf_visit_del']}', + cf_popular_del = '{$_POST['cf_popular_del']}', + cf_use_jumin = '{$_POST['cf_use_jumin']}', + cf_use_member_icon = '{$_POST['cf_use_member_icon']}', + cf_member_icon_size = '{$_POST['cf_member_icon_size']}', + cf_member_icon_width = '{$_POST['cf_member_icon_width']}', + cf_member_icon_height = '{$_POST['cf_member_icon_height']}', + cf_login_minutes = '{$_POST['cf_login_minutes']}', + cf_image_extension = '{$_POST['cf_image_extension']}', + cf_flash_extension = '{$_POST['cf_flash_extension']}', + cf_movie_extension = '{$_POST['cf_movie_extension']}', + cf_formmail_is_member = '{$_POST['cf_formmail_is_member']}', + cf_page_rows = '{$_POST['cf_page_rows']}', + cf_stipulation = '{$_POST['cf_stipulation']}', + cf_privacy = '{$_POST['cf_privacy']}', + cf_open_modify = '{$_POST['cf_open_modify']}', + cf_memo_send_point = '{$_POST['cf_memo_send_point']}', + cf_mobile_new_skin = '{$_POST['cf_mobile_new_skin']}', + cf_mobile_search_skin = '{$_POST['cf_mobile_search_skin']}', + cf_mobile_connect_skin = '{$_POST['cf_mobile_connect_skin']}', + cf_mobile_member_skin = '{$_POST['cf_mobile_member_skin']}', + cf_gcaptcha_mp3 = '{$_POST['cf_gcaptcha_mp3']}', + cf_editor = '{$_POST['cf_editor']}', + cf_googl_shorturl_apikey = '{$_POST['cf_googl_shorturl_apikey']}', + cf_kcpcert_site_cd = '{$_POST['cf_kcpcert_site_cd']}', + cf_kcpcert_use = '{$_POST['cf_kcpcert_use']}', + cf_facebook_appid = '{$_POST['cf_facebook_appid']}', + cf_facebook_secret = '{$_POST['cf_facebook_secret']}', + cf_twitter_key = '{$_POST['cf_twitter_key']}', + cf_twitter_secret = '{$_POST['cf_twitter_secret']}', + cf_me2day_key = '{$_POST['cf_me2day_key']}', + cf_1_subj = '{$_POST['cf_1_subj']}', + cf_2_subj = '{$_POST['cf_2_subj']}', + cf_3_subj = '{$_POST['cf_3_subj']}', + cf_4_subj = '{$_POST['cf_4_subj']}', + cf_5_subj = '{$_POST['cf_5_subj']}', + cf_6_subj = '{$_POST['cf_6_subj']}', + cf_7_subj = '{$_POST['cf_7_subj']}', + cf_8_subj = '{$_POST['cf_8_subj']}', + cf_9_subj = '{$_POST['cf_9_subj']}', + cf_10_subj = '{$_POST['cf_10_subj']}', + cf_1 = '{$_POST['cf_1']}', + cf_2 = '{$_POST['cf_2']}', + cf_3 = '{$_POST['cf_3']}', + cf_4 = '{$_POST['cf_4']}', + cf_5 = '{$_POST['cf_5']}', + cf_6 = '{$_POST['cf_6']}', + cf_7 = '{$_POST['cf_7']}', + cf_8 = '{$_POST['cf_8']}', + cf_9 = '{$_POST['cf_9']}', + cf_10 = '{$_POST['cf_10']}' "; sql_query($sql); //sql_query(" OPTIMIZE TABLE `$g4[config_table]` "); diff --git a/adm/mail_select_list.php b/adm/mail_select_list.php index c00b074eb..c94bae911 100644 --- a/adm/mail_select_list.php +++ b/adm/mail_select_list.php @@ -81,7 +81,6 @@ include_once('./admin.head.php'); 회원아이디 이름 별명 - 생일 E-mail @@ -102,7 +101,6 @@ include_once('./admin.head.php'); - diff --git a/adm/mail_select_update.php b/adm/mail_select_update.php index 162135dbf..6ed359121 100644 --- a/adm/mail_select_update.php +++ b/adm/mail_select_update.php @@ -43,33 +43,31 @@ $sql = "select ma_subject, ma_content from {$g4['mail_table']} where ma_id = '$m $ma = sql_fetch($sql); $subject = $ma['ma_subject']; -$admin = get_admin('super', 'mb_email'); -$from_email = $admin['mb_email']; $cnt = 0; for ($i=0; $i

    ▶ 더 이상 정보 수신을 원치 않으시면 [수신거부] 해 주십시오.

    "; - mailer($config['cf_title'], $from_email, $email, $subject, $content, 1); + mailer($config['cf_title'], $config['cf_admin_email'], $to_email, $subject, $content, 1); - echo "\n"; + echo "\n"; //echo "+"; flush(); ob_flush(); diff --git a/adm/sendmail_test.php b/adm/sendmail_test.php index 43a8e9f00..02c2d6598 100644 --- a/adm/sendmail_test.php +++ b/adm/sendmail_test.php @@ -12,14 +12,10 @@ include_once(G4_LIB_PATH.'/mailer.lib.php'); $g4['title'] = '메일 테스트'; include_once('./admin.head.php'); -if (isset($_POST['mail'])) { - $from_name = '메일검사'; - $admin = get_admin('super', 'mb_email'); - $from_email = $admin['mb_email']; - - $email = explode(',', $mail); +if (isset($_POST['email'])) { + $email = explode(',', $_POST['email']); for ($i=0; $i[메일검사] 내용

    이 내용이 제대로 보인다면 보내는 메일 서버에는 이상이 없는것입니다.

    '.date("Y-m-d H:i:s").'

    이 메일 주소로는 회신되지 않습니다.', 1); + mailer($config['cf_title'], $config['cf_admin_email'], trim($email[$i]), '[메일검사] 제목', '[메일검사] 내용

    이 내용이 제대로 보인다면 보내는 메일 서버에는 이상이 없는것입니다.

    '.G4_TIME_YMDHIS.'

    이 메일 주소로는 회신되지 않습니다.', 1); echo '

    '; echo '

    결과메세지

    '; @@ -45,13 +41,12 @@ if (isset($_POST['mail'])) {

    메일서버가 정상적으로 동작 중인지 확인할 수 있습니다.
    아래 입력칸에 테스트 메일을 발송하실 메일 주소를 입력하시면, [메일검사] 라는 제목으로 테스트 메일을 발송합니다.
    - 여러 곳으로 테스트 메일을 발송하시려면 , 로 메일을 구분하십시오.

    테스트메일 발송 - - + +
    diff --git a/bbs/register_email_update.php b/bbs/register_email_update.php index db5e309dc..feea55858 100644 --- a/bbs/register_email_update.php +++ b/bbs/register_email_update.php @@ -6,7 +6,7 @@ include_once(G4_LIB_PATH.'/mailer.lib.php'); $mb_id = escape_trim($_POST['mb_id']); $mb_email = escape_trim($_POST['mb_email']); -$sql = " select mb_datetime from {$g4['member_table']} where mb_id = '{$mb_id}' and mb_email_certify <> '' "; +$sql = " select mb_name, mb_datetime from {$g4['member_table']} where mb_id = '{$mb_id}' and mb_email_certify <> '' "; $mb = sql_fetch($sql); if (!$mb) { alert("이미 메일인증 하신 회원입니다.", G4_URL); @@ -25,6 +25,7 @@ if ($row['cnt']) { // 인증메일 발송 $subject = '['.$config['cf_title'].'] 인증확인 메일입니다.'; +$mb_name = $mb['mb_name']; $mb_datetime = $mb['mb_datetime'] ? $mb['mb_datetime'] : G4_TIME_YMDHIS; $mb_md5 = md5($mb_id.$mb_email.$mb_datetime); $certify_href = G4_BBS_URL.'/email_certify.php?mb_id='.$mb_id.'&mb_md5='.$mb_md5; @@ -34,11 +35,10 @@ include_once ('./register_form_update_mail3.php'); $content = ob_get_contents(); ob_end_clean(); -$admin = get_admin('super'); -mailer($admin['mb_nick'], $admin['mb_email'], $mb_email, $subject, $content, 1); +mailer($config['cf_title'], $config['cf_admin_email'], $mb_email, $subject, $content, 1); $sql = " update {$g4['member_table']} set mb_email = '$mb_email' where mb_id = '$mb_id' "; sql_query($sql); -alert("인증메일을 {$mb_email} 메일로 다시 보내 드렸습니다.\\n\\n{$mb_email} 메일을 확인하여 주십시오.", G4_URL); +alert("인증메일을 {$mb_email} 메일로 다시 보내 드렸습니다.\\n\\n잠시후 {$mb_email} 메일을 확인하여 주십시오.", G4_URL); ?> \ No newline at end of file diff --git a/bbs/register_form_update.php b/bbs/register_form_update.php index 347970dbc..10d677b0f 100644 --- a/bbs/register_form_update.php +++ b/bbs/register_form_update.php @@ -141,10 +141,6 @@ if (isset($_FILES['mb_icon']) && is_uploaded_file($_FILES['mb_icon']['tmp_name'] } } - -// 관리자님 회원정보 -$admin = get_admin('super'); - //=============================================================== // 휴대폰 본인확인 //--------------------------------------------------------------- @@ -239,7 +235,7 @@ if ($w == '') { $content = ob_get_contents(); ob_end_clean(); - mailer($admin['mb_nick'], $admin['mb_email'], $mb_email, $subject, $content, 1); + mailer($config['cf_title'], $config['cf_admin_email'], $mb_email, $subject, $content, 1); } // 최고관리자님께 메일 발송 @@ -251,7 +247,7 @@ if ($w == '') { $content = ob_get_contents(); ob_end_clean(); - mailer($mb_nick, $mb_email, $admin['mb_email'], $subject, $content, 1); + mailer($mb_nick, $mb_email, $config['cf_admin_email'], $subject, $content, 1); } // 메일인증 사용하지 않는 경우에만 로그인 @@ -337,7 +333,7 @@ if ($config['cf_use_email_certify'] && $old_email != $mb_email) { $content = ob_get_contents(); ob_end_clean(); - mailer($admin['mb_nick'], $admin['mb_email'], $mb_email, $subject, $content, 1); + mailer($config['cf_title'], $config['cf_admin_email'], $mb_email, $subject, $content, 1); } diff --git a/install/gnuboard4s.sql b/install/gnuboard4s.sql index d08ad879d..a4caaebd0 100644 --- a/install/gnuboard4s.sql +++ b/install/gnuboard4s.sql @@ -192,6 +192,7 @@ DROP TABLE IF EXISTS `g4s_config`; CREATE TABLE IF NOT EXISTS `g4s_config` ( `cf_title` varchar(255) NOT NULL DEFAULT '', `cf_admin` varchar(255) NOT NULL DEFAULT '', + `cf_admin_email` varchar(255) NOT NULL DEFAULT '', `cf_include_index` varchar(255) NOT NULL DEFAULT '', `cf_include_head` varchar(255) NOT NULL DEFAULT '', `cf_include_tail` varchar(255) NOT NULL DEFAULT '',