게시물 메일로 보내기 될까요? > 그누3질답

그누3질답

게시물 메일로 보내기 될까요? 정보

그누보드 게시물 메일로 보내기 될까요?

본문

안녕하세요.
얼마전부터 제로보드에서 그누보드로 교체하려고 작업중입니다.
여러가지면에서 편리하여 전면적인 개편을 준비중인데
한가지 문제를 해결하지 못하여 이렇게 문의 드립니다.

운영중인 사이트는
국내시인에 대한 자료와 시를 소개하는 사이트입니다.
거의 모든 작업은 완성단계입니다.
단한가지 게시물을 조회하다가 게시물의 내용을 첨부해서 메일로 보냇으면 하는데
그누보드에서 폼메일과 연동하여 보낼수 있었으면 참 좋을 것 같은데
밥법이 없을까요?
워낙이 허접하여 현재로서는 대책이 안서는군요.

고수님!
좀 도와주세요....

아래는 제로보드에서 사용하던 sendmail 소스입니다
<?

// ******************************************************************
// 이 프로그램은 제로보드 게시판에서 보던글을 메일로 보내는 플러그인 입니다.
// 프로그램에 대한 모든 권리는 원 소스 제작자 Jineee 님 에게 있습니다.
// 추가 향상된 부분, 기능 수정, 스킨 디자인에 대한 권리는 cguy 님 에게 있습니다.
// 개인적으로 사용시 소스를 수정할수 있지만 수정된 프로그램의 재배포는 금지합니다.
// (소스내의 모든 저작권 부분은 수정을 금지합니다)
// http://poemlove.pe.kr 의 공부방 또는 자유게시판.
// ******************************************************************
/////////////////////////////////////////////////////////////////////////////

// 다음 변수의 입력값을에 본인 사이트에 맞는 정보로 수정하십시오. //
/////////////////////////////////////////////////////////////////////////////
$site_title="시사랑 시의 백과사전"; //// 사이트 제목 입력
$site_url="http://www.poemlove.pe.kr"; //// 사이트 웹주소 입력
$zboard_url="http://www.poemlove.pe.kr/bbs/zboard"; //// 제로보드 디렉토리의 웹주소 입력
$banner_url="http://poemlove.pe.kr/images/poemlove.gif"; //// 사이트 베너의 웹주소 입력, 없을경우 공백으로 둘것!
$header_url=""; //// 해더파일의 웹주소 입력, 없을경우 공백으로 둘것!
$footer_url=""; //// 푸터파일의 웹주소 입력, 없을경우 공백으로 둘것!
/////////////////////////////////////////////////////////////////////////////

require "lib.php";

// DB 연결

if(!$connect) $connect=dbConn();

// 게시판 설정 읽기

$setup=get_table_attrib($id);

// 게시판일때 에러 표시

if(!$setup[name]) Error("생성되지 않은 게시판입니다.<br><br>게시판을 생성후 사용하십시요","");

// 현재 게시판 그룹의 설정 읽기
$group=group_info($setup[group_no]);

// 멤버 정보 구해오기
$member=member_info();

// 로그인되어 있는 멤버가 전체, 또는 그룹관리자인지 검사
if($member[is_admin]==1||$member[is_admin]==2&&$member[group_no]==$setup[group_no]||$member[board_name]==$id) $is_admin=1; else $is_admin="";

// 접근 금지 아이피인 경우 금지
$avoid_ip=explode(",",$setup[avoid_ip]);
for($i=0;$i<count($avoid_ip);$i++)
{
if(!isblank($avoid_ip[$i])&&eregi($avoid_ip[$i],$REMOTE_ADDR)&&!$is_admin)
Error(" Access Denied ");
}

// 현재 그룹이 폐쇄그룹이고 로그인한 멤버가 비멤버일때 에러표시
if($group[is_open]==0&&!$is_admin&&$member[group_no]!=$setup[group_no]) Error("공개 되어 있지 않습니다");

// 사용권한 체크
if($setup[grant_view]<$member[level]&&!$is_admin) Error("사용권한이 없습니다","login.php?id=$id&page=$page&page_num=$page_num&category=$category&sn=$sn&ss=$ss&sc=$sc&keyword=$keyword&no=$no&file=zboard.php");

// 스킨 디렉토리 : $dir 이라는 변수는 계속해서 스킨경로 파일로 ////
$dir="skin/".$setup[skinname];

//// 현재 선택된 데이타가 있을때, 즉 $no 가 있을때 데이타 가져옴
$data=mysql_fetch_array(mysql_query("select * from  $t_board"."_$id  where no='$no'"));

//////// MySQL 닫기 /////////////////////////////////
if($connect) mysql_close($connect); $connect="";
$query_time=getmicrotime();

// 비밀글이고 패스워드가 틀리고 관리자가 아니고;; 헥헥;; 그러면 빠꾸ㆀ 아~ 힘들다;;
if($data[is_secret]&&!$is_admin&&$data[ismember]!=$member[no]&&!$secret[$no])
{
if($data[ismember])
{
Error("비밀글입니다. 열람할 권한이 없습니다");
}
else
{
$password=mysql_fetch_array(mysql_query("select password('$password')"));
if($data[password]!=$password[0])
{
head();
$a_list="<a onfocus=blur() href='zboard.php?$href$sort'>";
$a_view="<Zetyx ";
$target="view.php";
$title="이 글은 비밀글입니다.<br>비밀번호를 입력하여 주십시요";
$input_password="<input type=password name=password size=20 maxlength=20 class=input>";
require $dir."/ask_password.php";
foot();
exit;
}
setcookie("secret[$no]","ok","");
}
}

// 보내려는 글을 정리합니다.
// 현재 이 폼에선 아래 변수들을 사용하지 않고, mode가 sendit일 때
// 에서만 사용하지만, 혹시 textarea에 기본 내용으로 넣고 싶으신 분들은
// 이 변수들을 이용하시면 되겠습니다.

$article_name=$data[name]=stripslashes($data[name]);// 이름
$article_email=$data[email]=stripslashes($data[email]);// 메일
$article_subject=$data[subject]=stripslashes($data[subject]); // 제목
$article_subject=cut_str($article_subject,$setup[cut_length]); // 제목 자르는 부분
$article_memo=$data[memo]=nl2br(stripslashes($data[memo])); // 내용
$article_memo=autolink($article_memo); // 자동링크 거는부분;;
 
$cnt_lnk=0; $cnt_file=0;
if($data[sitelink1]) $cnt_lnk++;
if($data[sitelink2]) $cnt_lnk++;
if($data[file_name1]) $cnt_file++;
if($data[file_name2]) $cnt_file++;

$upload_image1=$upload_image2="";
if(eregi("\.jpg",$data[s_file_name1])||eregi("\.gif",$data[s_file_name1])||eregi("\.png",$data[s_file_name1])) $upload_image1="<br><img src=".$zboard_url."/$data[file_name1] border=0><br>";
elseif(eregi("\.swf",$data[s_file_name1])) $upload_image1="<br><embed src=".$zboard_url."/$data[file_name1] width=500 height=400><br>";
if(eregi("\.jpg",$data[s_file_name2])||eregi("\.gif",$data[s_file_name2])||eregi("\.png",$data[s_file_name2])) $upload_image2="<br><img src=".$zboard_url."/$data[file_name2] border=0><br>";
elseif(eregi("\.swf",$data[s_file_name2])) $upload_image2="<br><embed src=".$zboard_url."/$data[file_name2] width=500 height=400><br>";

// 카테고리의 이름을 구함
if($data[category]&&$setup[use_category]) $category_name=$category_data[$data[category]];
else $category_name="&nbsp;";

// 글쓴 시간을 년월일시분초로 변환함
$reg_date="<span title='".date("Y년 m월 d일 H시 i분 s초", $data[reg_date])."'>".date("Y/m/d", $data[reg_date])."</span>";
if(!isBlank($article_email)||$data[ismember]) $article_linked_name="<a href='mailto:$article_email'>$article_name</a>";

////////////////////////////////////////////////////////////////
// 이제 입력 받는 경우의 출력 부분입니다.
if($mode!="sendit") {
$setup[skinname]="";
$group[header_url]="";
$group[header]="";
head("","script_memo.php");
?>

<script language='JavaScript1.2'>function init(fields){if( fields.value == fields.defaultValue ){fields.value = '';}}</script>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="15"><img src="images/memo_topleft.gif" width="15" height="50"></td>
<td background="images/memo_topbg.gif">&nbsp;
</td>
<td width="15"><img src="images/sm_topright.gif" height="50"></td>
</tr>
</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="15"><img src="images/memo_listtopleft.gif" width="17" height="17"></td>
<td background="images/memo_listtop.gif"><img src="images/t.gif" width="10" height="5"></td>
<td width="15"><img src="images/memo_listtopright.gif" width="17" height="17"></td>
</tr>
</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="17" background="images/memo_listleftbg.gif"><img src="images/t.gif" width="17" height="10"></td>
<td>
<table border=0 width=100% cellspacing=0 cellpadding=3>
<form method=post action=<?=$PHP_SELF?> name=write onsubmit="return check_submit()">
<input type=hidden name=mode value="sendit">
<input type=hidden name=id value=<?=$id?>>
<input type=hidden name=no value="<?=$no?>">
<tr>
<td colspan=2>&nbsp;&nbsp;<b>따뜻함을 나눠주세요~ ^.^</b></td>
</tr>

<?
if($member[no])
{
?>
<tr>
<td width=50 align=right><img src="images/sm_from.gif"></td>
<td valign=bottom width=100%>&nbsp;<font color=brown><b><?=$member[name]?> &lt;<?=$member[email]?>&gt;</td>
</tr>
<?
}
else
{
?>

<tr>
<td width=50 align=right><img src="images/sm_from.gif"></td>
<td>&nbsp;<input type=text name=from size=20 maxlength=20 class=input style=border-color:#FA80B0></td>
</tr>
<?
}
?>

<tr>
<td align=right><img src=images/vi_email.gif></td>
<td>&nbsp;<input type=text name=to_email size=40 maxlength=40 class=input style=border-color:#FA80B0></td>
</tr>
<tr>
<td width=50 align=right><img src=images/vi_subject.gif></td>
<td>&nbsp;<input type=text name=subject size=40 maxlength=40 class=input style=border-color:#FA80B0> <input type=hidden name=html value=1 checked></td></tr>
<tr>
<td colspan=2 align=center>
<textarea id=textarea class=textarea name=memo rows=19 wrap='virtual' style=width:100%;border-color:#FA80B0 onfocus=init(this)>
E-mail 에 받을분의 이메일주소를, Subject 에 제목을 넣으시고, 본문에 전하고싶은 내용을 적으세요.
</textarea></td>
</tr>
<tr>
<td align=right colspan=2><input type=image border=0 src=images/sm_send.gif accesskey="s"> <a href=JavaScript:window.close()><img src="images/memo_close.gif" border="0"></a></td>
</tr>
</form>
</table>
</td>
<td width="17" background="images/memo_listrightbg.gif"><img src="images/t.gif" width="17" height="10"></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="15"><img src="images/memo_listbottomleft.gif" width="17" height="17"></td>
<td background="images/memo_listbottom.gif"><img src="images/t.gif" width="10" height="5"></td>
<td width="15"><img src="images/memo_listbottomright.gif" width="17" height="17"></td>
</tr>
</table>

<?
echo("<div align=center style='font-size:7pt;font-family:tahoma,arial,verdana;'>Sendmail addon by <font color=FFA000><b>j</b></font>inee / <a href=http://www.1Love.co.kr/ target=_blank>Added function & Skin by <font color=4296EF><b>c</b></font>guy</a></div>");
}
////////////////////////////////////////////////////////////
// 이제 submit된 경우의 처리입니다. 메일을 보내야죠..
elseif($mode=="sendit"){
$content.="<html>\n<head>\n<link rel=stylesheet type=text/css href=$zboard_url/poemlove.css>\n</head>\n\n\n\n";
$content.="<body>\n\n\n\n";
$content.="<div align=center>\n";
if($header_url)
{
$fp=fopen($header_url,"r");
$content.=fread($fp,filesize($header_url));
fclose($fp);
}

$content.=" <div align=center style='color:gray'>\n";
$content.=" 당신을 아끼는 어떤분이 <a href='$site_url' target='_blank' onfocus='blur();'>$site_title</a> 에서 당신에게 보낸 메일 입니다.\n";
$content.=" <br><br>\n";
$content.=" <TABLE border='0' cellspacing='0' bordercolordark='blue' bordercolorlight='black' width='510'>\n";
$content.=" <tr>\n";
$content.=" <td align=absmiddle bgcolor='#CEF9A4'><img src=$zboard_url/poemhead.gif align=center>&nbsp;&nbsp;$article_subject</td>\n";
$content.=" </tr>\n";
$content.=" <tr>\n";
$content.=" <td colspan=2 align=center>\n";
$content.="  <!-- 영상시 음악파일의 확장자별 음악삽입 태그 지정  -->\n";
  $content.="  <embed src=$data[sitelink1] hidden=true loop=-1 volume=0>\n";
$content.="  <embed src=$zboard_url/$data[file_name1] hidden=true loop=-1 volume=0>";
$content.="  <!-- 그림 파일이 링크인지 업로드인지....  -->\n";
$content.="  <table border='0' width='500' height='320' cellspacing='0' background=";
$content.="$data[sitelink2] $zboard_url/$data[file_name2]";
  $content.=" align='center' bordercolordark='white' bordercolorlight='black'>\n";
  $content.="  <tr><td width='490' style='word-break:break-all;padding:20' align='center'>\n";
  $content.="  <span style=color:white;filter:glow(color=#006000);height:0px;line-height:150%><br>\n";
  $content.="  <marquee direction='up' scrollamount='1.2' scrolldelay='100' loop='ture' width='460' height='200'></span>\n";
  $content.="  <p align='left'><b><font size='2'>$data[memo]<font></b></p></marquee>\n";
  $content.="  </td></tr></table>\n";
$content.="  <!-- 영상시 설정부분  끝-->\n";
$content.=" </td>\n";
$content.=" </tr>\n";
$content.=" <tr>\n";
$content.=" <td align=absmiddle bgcolor=#CEF9A4>전하는 말씀 :</td></tr><tr><td align=left><pre>$memo</pre></td>\n";
$content.=" </tr>\n";
$content.=" <tr>\n";
$content.=" <td align='right'>\n";
$content.=" <a href='$site_url' target='_blank' onfocus='blur();'><img src='$banner_url' onerror=this.src='$zboard_url/cguy_blank.gif'; border='0'></a>";
$content.="  </td></tr><tr><td>\n";
$content.="  <div align=right style='font-size:7pt;font-family:tahoma,arial,verdana;'>";
$content.= "  Sendmail addon by <font color=FFA000><b>j</b></font>inee / <a href=http://www.1Love.co.kr/ target=_blank>Added function & Skin by <font color=4296EF><b>c</b></font>guy</a></div>\n";
$content.=" </td></tr></table></body></html>\n";
if($footer_url)
{
$fp=fopen($footer_url,"r");
$content.=fread($fp,filesize($footer_url));
fclose($fp);
}

$content.=" <br><br>\n";
if($from)
{
$header = "Return-Path: $from\n";
$header .= "From: $from\n";
$header .= "Reply-to: $from\n";
$header .= "X-Mailer: Zetyx\n";
}
else
{
$header = "Return-Path: $member[email]\n";
$header .= "From: $member[name] <$member[email]>\n";
$header .= "Reply-to: $member[email]\n";
$header .= "X-Mailer: Zetyx\n";
}
if($html) $header .= "Content-Type: text/html;"; else $header .= "Content-Type: text/plain;";
$header .= "charset=euc-kr\n";
$header .= "MIME-Version: 1.0\r\n";
mail($to_email,$subject,$content,$header);
echo"<script language='javascript'>alert('메일을 성공적으로 보냈습니다.');window.close();</script>";
}
?>

댓글 전체

관심 주셔서 감사합니다.
부족한 실력이라서 몇일 밤 고생해서 제로에서 사용하던 소스를 분석하여 겨우 구현은 했습니다만
보안등의 문제는 현재로서는 알 수 없고요, 또 어떤 문제가 있는지조차 모르면서
어거지로 만들어 사용은 하고 있습니다.

감사합니다
전체 9,564
그누3질답 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT